Solr - 使用确切数量的单词进行邻近搜索

时间:2012-09-15 12:01:39

标签: solr solrj

我在windows机器上使用apache-solr-3.6.0。我想搜索两个单词,其中包含一定数量的单词(不超过这个数字)。 例如: 考虑以下短语,我想搜索Daisy&考试时间不超过2个字。

Daisy has exam.
Daisy has an exam.
Daisy has a math exam.
Daisy has a difficult math exam.

我搜索了这样的东西,我尝试了Term Proximity。

http://localhost:8983/solr/select/?q="Daisy exam"~2&version=2.2&start=0&rows=10&indent=on&debugQuery=true

我需要的结果应该是短语:Daisy has an exam.但是使用上述标准,结果是最后3个短语。

所以任何想法都要使用一定数量的单词?

1 个答案:

答案 0 :(得分:0)

点击此处查看相关问题: Solr proximity ordered vs unordered

当你说“相隔不超过2个单词”时,你应该同时使用第一个和第二个短语。然后你的查询将是"Daisy exam"~1,它将匹配Daisy考试和它们之间的插入(一个更改:将exam位置从2更改为3)。

为了防止匹配结果中出现“雏菊检查”,您可以在查询中添加-"Daisy exam"。或者,您可以将fq=-"Daisy exam"添加到查询字符串参数。