function apachesolr_multisitesearch_retrieve_metadata in Apache Solr Multisite Search 6.3
Same name and namespace in other branches
- 7 apachesolr_multisitesearch.index.inc \apachesolr_multisitesearch_retrieve_metadata()
2 calls to apachesolr_multisitesearch_retrieve_metadata()
- apachesolr_multisitesearch_delete_indexes in ./
apachesolr_multisitesearch.admin.inc - Submit handler for the "Delete selected indexes" button.
- apachesolr_multisitesearch_refresh_metadata in ./
apachesolr_multisitesearch.index.inc
File
- ./
apachesolr_multisitesearch.index.inc, line 63
Code
function apachesolr_multisitesearch_retrieve_metadata() {
try {
// Get the $solr object
$solr = apachesolr_get_solr();
$params['defType'] = 'lucene';
$params['fl'] = '*';
$response = $solr
->search('entity_type:multisite.meta', $params);
foreach ($response->response->docs as $doc) {
// Convert doc into a simple array.
if (isset($doc->hash)) {
foreach ($doc as $k => $v) {
$data[$doc->hash][$k] = $v;
}
if (empty($data[$doc->hash]['sm_multisite_meta_taxonomy'])) {
$data[$doc->hash]['sm_multisite_meta_taxonomy'] = array();
}
if (empty($data[$doc->hash]['sm_multisite_meta_bundles'])) {
$data[$doc->hash]['sm_multisite_meta_bundles'] = array();
}
}
}
watchdog('Apache Solr Multisite', 'Fetched site meta data');
variable_set('apachesolr_multisitesearch_metadata', $data);
} catch (Exception $e) {
watchdog('Apache Solr Multisite', 'Failed to fetch meta data <br /> !message', array(
'!message' => nl2br(strip_tags($e
->getMessage())),
), WATCHDOG_ERROR);
}
}