function search_api_location_search_api_solr_query_alter in Search API Location 7
Implements hook_search_api_solr_query_alter()
File
- ./
search_api_location.module, line 62 - Search API Location module author: dolarchik (d.olaresko@madcap.nl)
Code
function search_api_location_search_api_solr_query_alter(array &$call_args, SearchApiQueryInterface $query) {
if ($query
->getOption('query_type') == 'geo') {
$params['qt'] = 'geo';
$params['lat'] = $query
->getOption('lat');
$params['long'] = $query
->getOption('lng');
$params['radius'] = $query
->getOption('radius');
$params['sort'] = 'geo_distance ' . $query
->getOption('sort');
if (!is_null($call_args['query']) && !empty($call_args['params']['qf'])) {
$call_args['params']['fq'][] = '{!dismax qf="' . implode(" ", $call_args['params']['qf']) . '"}' . $call_args['query'];
$call_args['query'] = NULL;
}
unset($call_args['params']['qf']);
$call_args['params'] = array_merge($params, $call_args['params']);
}
}