1

我有大约 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

这是否有意义,并且根据它们匹配的查询的大部分来提升文档是否有意义?

4

1 回答 1

3

在您执行任何其他操作之前,请尝试使用带有pf3 参数的 eDisMax 。这会自动为您完成 3 克。

您可能还对最近的一个vifun 项目感兴趣,该项目有助于可视化各种参数的效果。

于 2013-03-08T14:28:00.683 回答