查找ElasticSearch中缺少字段的文档

时间:2014-04-07 14:01:09

标签: elasticsearch

我是ES的新手,目前正在评估它如何作为存储日志数据/事件的后端。其中一个要求是批量更新所有索引事件,例如添加一个字段。

我查看了DSL查询,但我找不到查询的示例,该查询将检索所有不包含某个字段的文档。在描述值时,DSL非常具有表现力,但不是字段名和字段存在。

对于典型的ES用户来说,这可能是一个不寻常的用例,但是在使用ElasticSearch ELK堆栈时我已经遇到了它的真正需求。当我将数据插入到具有错误格式的Kibana的ES中时,我遇到了大量异常。现在我想纠正格式,但我无法检索损坏的文档。有办法吗?

1 个答案:

答案 0 :(得分:2)

您应该可以使用" exists"过滤与" not" @touchpad上面提到的过滤器,或者只是" missing"过滤

  {
   "filter": {
      "not": {
         "exists": {
            "field": <field_name>
         }
      }
   }
}