我有大约 500.000 个文档的索引,其中大约 10 个文档包含标题“at the moon”('title' 字段)和标签“nasa”('tag' 字段)。当我搜索“at the moon nasa”时,这些文件在搜索结果列表中的位置非常靠后。这是因为标题字段没有得到提升,但标签字段得到了相当大的提升。因此,带有标签“nasa”的其他文档优先于通过标题字段几乎匹配整个查询的文档。
然而,即使 Solr 不知道,查询“at the moon nasa”几乎与文档标题“at the moon”相匹配。如果我从查询中删除“nasa”部分,文档会出现在顶部。
有什么方法可以告诉 Solr 进行某种近似短语查询吗?通过 bq 参数实现某种语法搜索是否有意义,我会将搜索短语拆分为单词组合,例如:
// PHP-ish pseudocode
$bq[]=title:"at the"^2
$bq[]=title:"at the moon"^3
$bq[]=title:"at the moon nasa"^4
$bq[]=title:"the moon"^2
$bq[]=title:"the moon nasa"^3
$bq[]=title:"moon nasa"^4
这是否有意义,并且根据它们匹配的查询的大部分来提升文档是否有意义?