我有两种类型的solr query.One使用EDisMax解析器,另一种使用标准查询解析器,因为default.Following是查询的2种查询,查询的used.Purpose是不包含以下word ELM、PST、六月的文档。
EDisMax查询
q=内容:(-EML -PST -June)或内容:(-EML -PST -June)&start=0&rows=25 &defType=edismax&fl=content文件名
它产生大约12232个结果;其中文档的4292个结果包含任何给定的查询字符串,这些查询字符串是EML或PST或June.So 4292结果文档错误的。
标准解析器查询
query:q=size: 0到* &fq=content:( -EML -PST -June )&fq=contentenstem:( -EML -PST -June )&start=0&rows=25&fl=content文件名
它产生了大约7940个结果。
为什么EDisMax查询失败;如何使用EDisMax解析器查询获得正确的结果
如果我们知道EDisMax和标准查询解析器是如何对文档进行解析和&或布尔查询的,那么我们就可以得到为什么不同解析器出现不同文档计数的答案。
发布于 2013-01-16 04:21:15
在OR查询中将EDisMax切换到AND。OR和AND的行为不同:
OR将导致满足您的一个或两个限制的结果(内容和内容)。
AND更严格:结果必须同时满足这两方面的限制。
https://stackoverflow.com/questions/14251476
复制相似问题