function nodequeue_apachesolr_query_alter in Nodequeue 7.2
Same name and namespace in other branches
- 7.3 nodequeue.module \nodequeue_apachesolr_query_alter()
Implements hook_apachesolr_query_alter().
File
- ./
nodequeue.module, line 651 - Maintains queues of nodes in arbitrary order.
Code
function nodequeue_apachesolr_query_alter(DrupalSolrQueryInterface $query) {
$queues = nodequeue_load_subqueues_by_queue(array_keys(nodequeue_get_all_qids()));
$added = FALSE;
$env_id = $query
->solr('getId');
foreach ($queues as $sqid => $queue) {
$boost = apachesolr_environment_variable_get($env_id, "nodequeue_apachesolr_boost_{$sqid}", 0);
if (!empty($boost)) {
$query
->addParam('bq', _nodequeue_solr_qid_key() . ":{$sqid}^{$boost}");
if (!$added) {
// Only want to add the facet.field once. no need to repeat it.
$query
->addParam('facet.field', _nodequeue_solr_qid_key());
$added = TRUE;
}
}
}
}