当前位置: 首页 > 知识库问答 >
问题:

Elasticsearch存在过滤器如何使空字符串为空值?

阳英朗
2023-03-14

我试图将名称字段索引到elasticsearch中,名称可能是字符串或空字符串(),我希望搜索所有包含空值的名称,所以我使用exists筛选器,但对于exists筛选器,空值不是空值。

https://www.elastic.co/guide/en/elasticsearch/reference/1.4/query-dsl-exists-filter.html

查询DSL:

{ "filter" : {
                "exists" : { "field" : "name" }
            } 
}

如何将空字符串作为elasticsearchexist筛选器的空值?有人有好主意吗?

共有1个答案

松国兴
2023-03-14

术语过滤器应该完成以下工作:

    {
      "term": {
        "name": ""
      }
    }

只是用我的一些数据尝试了一下,并得到了结果,但可能取决于您的字段是否“未分析”(像我的字段一样)。

更新:刚刚发现了这个类似的问题,它有一个更详细的答案:在elasticsearch上查找字符串值为空的文档

 类似资料:
  • 问题内容: 我在Stream中有Google Guava: 如您所见,过滤器函数内部有一条语句。 我不想在项目中再使用番石榴,所以我只想替换为: 我怎样才能使它更优雅? 问题答案: 您可以编写自己的谓词: 然后,将其用作您的过滤器参数。

  • 我有一个,我希望用户输入一个人的姓名。我认为名称应该包含、和示例。我正在使用来验证用户输入。但是,我不知道如何在我的中设置它。 问题:我应该如何修改我的过滤器来实现上述行为? 任何关于如何验证一个人的名字的建议都被接受。 这是我的DocumentFilter: 这是我的测试类:

  • 问题内容: 尝试滤除具有非null的特定属性的项目 我只想显示一个李;一个给萨莉。这是我没有成功的尝试 您知道如何在不创建自定义过滤器的情况下执行此操作吗?甚至如此,自定义过滤器会是什么样? 问题答案: 根据https://github.com/angular/angular.js/issues/11573(对于Angular> = 1.4),建议使用’‘,它匹配除null / undefined

  • 我正在从Reddit API检索评论。该模型是线程化的,这样每个评论都可以在内部有一个评论列表,名为回复。下面是一个JSON响应的示例: 这是我如何用POJO建模的。上面的回复将被视为评论列表。 请注意底层CommentData POJO如何引用另一个名为“回复”的CommentList。 这个模型一直工作到GSON到达最后一个没有回复的子CommentData。API提供的不是空字符串,而是空字

  • 问题内容: 我想使用一个框并使用适配器功能进行过滤。直到我在文本框中输入空格后,它才能正常工作。 编辑:这是一个 SimpleAdapter不是ArrayAdapter 如果我的列表中包含以下单词:{“ Apple”,“ Banana”,“ Red Apple”}如果键入“ apple”,它将返回其中包含apple这个单词的所有项目(Apple和Red Apple)。如果我键入“ apple”,它

  • 插槽部分渲染到的数据可能是不可视字符串,这样就没办法是实现文字换行显示了,如何识别出不可视字符串使其换行,或者直接赋空呢?