0

我在 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 个短语。

那么有什么想法可以分开使用确切数量的单词吗?

4

1 回答 1

0

在此处查看相关问题: Solr 接近有序与无序

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

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

于 2012-09-17T04:01:00.530 回答