如何执行过滤到空白字段或特定值的 OR 表达式?
这似乎没有这样做:
q=(-PrivacyLevel:*) OR PrivacyLevel:2
谢谢
答案是使用Maurizio In denmark所建议的双重否定。从数学上讲,这与非否定查询相同,但是,Solr 只理解双重否定版本:
q=-(-PrivacyLevel:2 PrivacyLevel:*)
注意:这也适用于过滤器查询:
fq=-(-PrivacyLevel:2 PrivacyLevel:*)
纯否定查询:-
-field:[* TO *]
查找所有没有字段值的文档
你可以试试 :-
q=-PrivacyLevel:[* TO *] OR PrivacyLevel:2
这应该有效:
q=(*:* AND -PrivacyLevel:[* TO *]) OR PrivacyLevel:2
这对我有用:
fq=(* -type:[ * TO * ]) || (* +type:company)
另请参阅使用 AND 和 OR 运算符的 Solr 字段查询 (fq),了解潜在问题和否定查询的解决方法。
对我有用的解决方案是q = -PrivacyLevel:(*) PrivacyLevel:("2")
.
快乐编码。