在SOLR中搜索空值/未设置值

时间:2019-05-16 01:53:51

标签: solr lucene

如何搜索缺少字段的文档?

有3种状态:

{ id: 1, name: "joe"}

{ id: 2, name: ""} <---我怎么找到这个?

{ id: 3 } <---我怎么找到这个?


我尝试过

这将返回预期结果,但是用id:2尝试相同的操作也会返回结果吗?

?q=id:3 AND -name:["" TO *]

  

{id: 3}符合预期,因为缺少name

?q=id:2 AND -name:["" TO *]

  

{id: 2, name: ""},但我希望这不匹配,因为这里没有缺少name


另一方面,显式搜索空白字段并不符合我的期望

?q=id:2 AND name:""

  

{id: 2, name: ""}如预期

?q=id:3 AND name:""

  

{id: 3},即使此处未设置name


有人可以解释如何搜索空字符串和已删除字段吗?

fqq中的哪个有关系吗?

1 个答案:

答案 0 :(得分:0)

您可以搜索不存在的字段

!name:[* TO *]

它将显示未设置该字段的所有文档。

如果您搜索文档中但为空的字段,我将使用

name:*