2

我正在使用在 Tomcat 7.0.29 上运行的 Solr 4.4.0。solrconfig.xlm 已交付(当然,Solr 主目录除外)。我可以传递 schema.xml,但我怀疑这会有多大帮助,如下所示。

如果我选择文本中包含“russia”的所有文档,这是默认字段,即如果我执行查询“russia”,我只找到1个文档,这是正确的。

如果我选择文本中包含“web”的所有文档(“web”),结果是29,这也是正确的。

如果我搜索所有不包含“russia”(“NOT(russia)”)的文档,结果仍然正确(202)。

如果我搜索所有包含“web”但不包含“russia”的文档(“web AND NOT(russia)”),结果再次正确(28,因为包含“russia”的文档还包含“网”)。

但是,如果我搜索所有包含“web”或不包含“russia”(“web OR NOT(russia)”)的文档,结果仍然是 28,尽管我应该得到 203 个匹配项(整个集合)。

有没有人解释一下??

有关信息,如果我不在查询中的某处使用 NOT,AND 和 OR 可以正常工作,即:“web AND russia”--> OK “web OR russia”--> OK

4

1 回答 1

0

我从 Yonik Seeley 那里得到了一个解决方案,即将 NOT(russia) 转换为 (*:* -russia),以便可以使用正值 ( :即所有文档) 从 (-russia) 中减去。这个解决方案效果很好。我仍然相信修改解析器是一个好主意,这样应变请求“web OR NOT(russia)”就可以在没有翻译的情况下工作。

于 2013-11-13T08:02:30.933 回答