Solr Edismax查询错误地产生结果

时间:2013-01-10 05:38:25

标签: solr edismax query-parser

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

EDisMax查询

q = content:( - EML -PST -June)或contentenstem:( - EML -PST -June)& start = 0& rows = 25 & defType = edismax& fl = content filename

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

标准解析器查询

查询:q =大小:[0 TO *]& fq = content :( -EML -PST -June)& fq = contentenstem :( -EML -PST -June)& start = 0& rows = 25& fl =内容文件名

它产生约7940个结果。

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

如果我们知道EDisMax和标准查询解析器如何解析AND&或者对文档进行布尔查询,我们可以得到不同解析器出现不同文档计数的原因的答案。

1 个答案:

答案 0 :(得分:2)

在EDisMax查询中将OR切换为ANDORAND采取不同的行动:

OR会导致结果符合您的一个或两个限制(对于内容和内容项)。

AND更严格:结果必须符合这两项限制。