如何查询Solr中的空字段或特定值
如何执行筛选为空白字段或特定值的OR表达式 这似乎不行:如何查询Solr中的空字段或特定值,solr,Solr,如何执行筛选为空白字段或特定值的OR表达式 这似乎不行: q=(-PrivacyLevel:*)或PrivacyLevel:2 谢谢退房 纯否定查询:- -field:[*TO*]查找没有字段值的所有文档 您可以尝试:- q=-PrivacyLevel:[*TO*]或PrivacyLevel:2这应该可以: q=(*:* AND -PrivacyLevel:[* TO *]) OR PrivacyLevel:2 这是为我工作的: fq=(* -type:[ * TO * ]) || (* +t
q=(-PrivacyLevel:*)或PrivacyLevel:2
谢谢退房
纯否定查询:-
-field:[*TO*]
查找没有字段值的所有文档
您可以尝试:-
q=-PrivacyLevel:[*TO*]或PrivacyLevel:2
这应该可以:
q=(*:* AND -PrivacyLevel:[* TO *]) OR PrivacyLevel:2
这是为我工作的:
fq=(* -type:[ * TO * ]) || (* +type:company)
另请参阅以了解潜在问题和否定查询的解决方法。答案是按照建议使用双重否定。从数学上讲,这与非否定查询相同,但是,Solr只理解双否定版本:
q=-(-PrivacyLevel:2 PrivacyLevel:*)
注意:这也适用于过滤器查询:
fq=-(-PrivacyLevel:2 PrivacyLevel:*)
我的解决方案是
q=-PrivacyLevel:(*)PrivacyLevel:(“2”)
快乐编码。空白或不存在(即:未定义)?您可以查看指向相同答案的链接。多多余啊<代码>**?这不是有效的查询词。*和**都执行相同的任务。为了避免歧义,我编辑了我的答案。