解决这个问题的最后一个选择是问StackOverflow。
我正在尝试创建一个Solr查询,以获取其中一个字段具有特定值或没有值的文档。
从理论上讲,这个查询应该是有效的。
以下是一些信息:
查询:(名称:John)--〉结果计数:小行星15383
查询:(名称:{* TO })--〉结果计数:61013 //有名字的人
查询:-(名称:{ TO *})--〉结果计数:216888 //没有名称的人员
现在,当我用OR运算符在同一个查询中使用第一个和第三个查询时,我期望得到(216888 + 15383)个结果。但是SOLR给出了15383个结果,完全忽略了第三个查询的影响:
查询:+((name:john)(-(name:{* TO *})))//这是我使用的查询。
这是Solr的一个bug还是我在查询中做错了?合并两个查询结果是一个额外的解决方案,但是如果我可以用一个简单的查询来做的话,我不想做额外的代码实现。
任何帮助都将不胜感激。
3条答案
按热度按时间bkkx9g8r1#
您也可以这样使用它。
rjee0c152#
您可以使用下面的语句来获取null和rest的结果
d4so4syb3#
请尝试以下查询-