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