我们有一个简单的域名
FirstName_s:"Bob"
返回40个文档,
-Department_t:"Ninjas"
返回所有文件(我们没有忍者部门)。
我们期待查询
(FirstName_s:"Bob") OR (-Department_t:"Ninjas")
返回所有文件,但它只返回原来的40个文件。
我们尝试了几种不同的排序,尝试使用“NOT”代替“ - ”都无济于事。
这是预期的行为吗? 也许更重要的是,我们如何得到我们期望的行为?
答案 0 :(得分:0)
我偶然发现了https://issues.apache.org/jira/browse/SOLR-2209,所以括号可能会导致错误。这有用吗?
FirstName_s:"Bob" OR -Department_t:"Ninjas"
是否以某种方式重写查询,它不会包含OR(使用De_Morgan's law)帮助?
-(-FirstName_s:"Bob" AND Department_t:"Ninjas")
答案 1 :(得分:0)
这对于多值字段以及它们的行为方式来说是一个问题。
我们必须将我们对多值字段的所有非查询修改为
(*:* -department_t:"Ninjas")