我试图做一个布尔搜索'sname:'。$ user-> name'。 OR sname:xxxxxx; ,我没有得到任何结果,因为sname:xxxxxx;工作正常。我甚至用查询修改钩子添加了mm = 1。有人可以指导我如何做到这一点。如何在apache solr中进行布尔搜索
这里是我的代码.....
$keys = "";
$filters = 'sname:'.$user->name.' OR sname:xxxxxx;
//print($filters);
$solrsort = variable_get('apachesolr_search_taxonomy_sort', 'created desc');
$page = isset($_GET['page']) ? $_GET['page'] : 0;
$_GET['retain-filters'] = 1;
try {
//stolen from search.module (search_data)
$data = apachesolr_search_execute($keys, $filters, $solrsort, 'search/apachesolr_search', $page);
$results = theme('search_results', $data, $type);
} catch (Exception $e){
watchdog('apachesolr', t('Error running search'));
}
function reports_apachesolr_modify_query(&$query, &$params, $caller) {
// I only want to see articles by the admin!
$params['mm'] = 1;
}
进阶感谢。
感谢ü的回答,但问题是不与用户对象,问题是使用Apache Solr实现的dismax查询生成器。 – pmarreddy
Aww无赖。我们担心我对Apache Solr语法不太了解,所以我不能真正帮助。 – theunraveler