SOLR忽略查询中的'NOT'子句

SOLR忽略查询中的'NOT'子句,solr,Solr,我们有一个简单的域 FirstName_s:"Bob" 返回40份文件,以及 -Department_t:"Ninjas" 返回所有文件我们没有忍者部门 我们期待这个查询 (FirstName_s:"Bob") OR (-Department_t:"Ninjas") 但是,它只返回了40份原始文件 我们已经尝试了几种不同的排序,尝试用“NOT”代替“-”都没有用 这是预期的行为吗? 也许更重要的是,我们如何获得我们期望的行为?我偶然发现了括号,所以可能是造成错误的原因。这行吗 FirstN

我们有一个简单的域

FirstName_s:"Bob"
返回40份文件,以及

-Department_t:"Ninjas"
返回所有文件我们没有忍者部门

我们期待这个查询

(FirstName_s:"Bob") OR (-Department_t:"Ninjas")
但是,它只返回了40份原始文件

我们已经尝试了几种不同的排序,尝试用“NOT”代替“-”都没有用

这是预期的行为吗? 也许更重要的是,我们如何获得我们期望的行为?

我偶然发现了括号,所以可能是造成错误的原因。这行吗

FirstName_s:"Bob" OR -Department_t:"Ninjas"
是否以某种方式重写查询,使其不包含或使用帮助

-(-FirstName_s:"Bob" AND Department_t:"Ninjas")
我偶然发现了,所以可能是括号导致了错误。这行吗

FirstName_s:"Bob" OR -Department_t:"Ninjas"
是否以某种方式重写查询,使其不包含或使用帮助

-(-FirstName_s:"Bob" AND Department_t:"Ninjas")

事实证明,这是多值字段的问题,以及它们在not中的行为方式

我们必须将多值字段的所有not查询修改为

(*:* -department_t:"Ninjas")

事实证明,这是多值字段的问题,以及它们在not中的行为方式

我们必须将多值字段的所有not查询修改为

(*:* -department_t:"Ninjas")

删除parens不起作用,但使用De Morgans进行重构起作用。谢谢我将向Solr提交一个bug,我认为我们不应该在查询生成中使用de Morgans。删除Paren不起作用,但使用de Morgans进行重构起了作用。谢谢我将向Solr提交一个bug,我认为我们不应该在查询生成中使用de Morgans。感谢@jarosławgomułka,我打开了这个,感谢@jarosławgomułka,我打开了这个