【发布时间】:2011-10-06 09:09:23
【问题描述】:
为我解决这个问题的最后一个选择是询问 StackOverflow。
我正在尝试创建一个 Solr 查询以获取在其中一个字段上具有特定值或没有值的文档...
理论上,这个查询应该有效。
这里有一些信息:
查询: (name: john) --> Result count: 15383 //Johns
查询: (name: {* TO *}) --> Result count: 61013 //有名字的人
查询: -(name: {* TO *}) --> Result count: 216888 //没有名字的人
现在,当我使用 OR 运算符在同一个查询中使用第一个和第三个查询时,我希望得到 (216888 + 15383) 个结果。但是SOLR给出了15383个结果,干脆忽略了第三次查询的效果:
查询: +((name:john) (-(name:{* TO *}))) //这是我使用的查询。
这是 Solr 的错误还是我在查询中做错了?合并两个查询结果是一个额外的解决方案,但如果我可以用一个简单的查询来完成,我不想做额外的代码实现。
任何帮助将不胜感激。
【问题讨论】: