我想在身体或标题的任何地方找到确切的短语结果。它必须从最近到最早订购。我获得非常接近结果的唯一方法是通过此钩子强制引用我的所有搜索:
/**
* Implements hook_apachesolr_query().
*/
function hcp_node_apachesolr_query_prepare($query) {
// Adding quotes to all searches so it gives an accurate search result
$search_result = $query->getParam('q');
$has_quotes = preg_match('/^(["\']).*\1$/m', $search_result);
if(!$has_quotes) {
$query->replaceParam('q', '"' . $search_result . '"');
}
}
我的偏见设置:
这似乎适用于两个或三个单词短语但如果我搜索一篇文章的整个标题就找不到任何内容。
我尝试将标题和完整的渲染内容字段偏向同一事物(21)。再次,它会显示出良好的效果,但它不会是最近的顺序(我认为这非常接近但只是希望它最近显示最近)。
我也尝试更新我的schema.xml:将WhitespaceTokenizerFactory更新为KeywordTokenizerFactory,但我没有得到好的结果。
答案 0 :(得分:0)
这就是我解决这个问题的方法:
仅供参考我尝试了不同的设置,这似乎是最好的。