代码之家  ›  专栏  ›  技术社区  ›  d-_-b

搜索SOLR以查找空值/未设置值

  •  0
  • d-_-b  · 技术社区  · 7 年前

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

    有三个州:

    { 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: ""} 但我预计这将不再匹配 名称 这里没有丢失


    另一方面,显式搜索空字段并不像我预期的那样:

    ?q=id:2 AND name:""

    {id:2,名称:'} 果然

    ?q=id:3 AND name:""

    {id:3} 尽管 名称 这里没有设定


    有人能解释一下如何搜索空字符串和删除的字段吗?

    哪个进去重要吗 fq vs q ?

    0 回复  |  直到 7 年前
        1
  •  0
  •   Chris    7 年前

    你可以像这样搜索不存在的字段

    !name:[* TO *]

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

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

    name:*

    推荐文章