Solr Edismax查询结果错误



我有两种类型的solr查询。一个使用EDisMax解析器,另一个使用标准查询解析器作为默认值。以下是我使用的2个查询。查询的目的是文档中不包含以下单词ELM,PST,June.

EDisMax查询

q= content:(-EML -PST -June)或contentenstem:(-EML -PST -June)&start=0&rows=25, defType = edismax& fl =内容文件名

产生大约12232个结果;其中4292个文档的结果包含EML或PST或June的任何给定查询字符串。所以4292个结果文档是错误的。

标准解析器查询

query:q=size:[0 TO *]&fq=content:(-EML -PST -June)&fq=contentenstem:(-EML -PST -June)&start=0&rows=25&fl=content文件名

它产生大约7940个结果。

为什么EDisMax查询失败;如何使用EDisMax解析器查询获得正确的结果

如果我们知道EDisMax和Standard查询解析器如何解析and &或者对文档进行布尔查询,我们可以得到为什么不同的解析器产生不同的文档计数的答案。

将EDisMax查询中的OR改为ANDORAND的作用不同:

OR将导致满足您的一个或两个限制(对于content和contentstem)的结果。

AND更严格:结果必须同时满足这两个限制

相关内容

  • 没有找到相关文章

最新更新