Elasticsearch:仅检索字段不存在的文档_id

搜寻者

我想检索所有不存在字段“名称”的文档_id(不包含其他字段):

我知道我可以搜索不存在“名称”字段的地方,如下所示:

    "query": {
        "bool": {
            "must_not": {
                "exists": {
                    "field": "name"
                }
            }
        }
    }

而且我认为仅在没有任何我需要使用的字段的情况下获取文档的_id(如果我错了,请更正我):

"fields": []

如何将这两个部分结合起来进行有效的查询?

曼尼

您可以添加_source并设置为false,因为默认情况下Elasticsearch将在该字段中返回整个JSON对象

"_source": false,
"query":{
   ...
}

这会从你指定的索引检索只是元数据,所以你的hits数组将包含_index_type_id_score每个结果

{
  "took" : 11,
  "timed_out" : false,
  "_shards" : {
    "total" : 12,
    "successful" : 12,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 20,
      "relation" : "eq"
    },
    "max_score" : 1.0,
    "hits" : [
      {
        "_index" : "filebeat-7.8.1-2021.01.28",
        "_type" : "_doc"
        "_id" : "SomeUniqeuId86aa",
        "_score" : 1.0 
      },
      {
        "_index" : "filebeat-7.8.1-2021.01.28",
        "_type" : "_doc"
        "_id" : "An0therrUniqueiD",
        "_score" : 1.0 
      }
    ]
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

仅当不存在MongoDB文档字段时,才如何更新它们?

查找字段不存在或字段小于值的文档

为什么 Firestore 认为它检索了不存在的文档?

当文档不存在时,Upsert不会添加新的(ElasticSearch)

Elasticsearch 过滤文档,其中聚合存储桶不存在

如果不存在字段,则更新MongoDB文档

MongoDB:通过不存在的字段查找文档?

如果Mongo中的文档不存在,请添加字段

仅当doc不存在时,Elasticsearch中的批量索引

Elasticsearch-使用脚本创建字段(如果不存在)

Elasticsearch嵌套字段在DSL python中不存在查询

Elasticsearch获取数据,其中字段不为空/字段为空或字段存在/字段不存在

文档快照不存在

获取文档ID(如果存在)或将其插入,并返回插入的文档ID(如果不存在)

查找不存在该字段的所有文档,以及存在该字段的适用条件

字段不存在 ODOO

如果字段不存在,如何在所有文档中插入字段

如果文档中不存在字段,是否可以忽略字段?

仅检索更改的文档字段

在Firestore中,如何更新可能存在或不存在的文档中的字段?

查询包含dict字段的Mongodb文档不存在或存在且为空

删除不存在的字段的子字段

“字段不存在或字段等于真”的 Elasticsearch 过滤器

检索表中不存在的行

此集合实例上不存在属性[lesson_id]-即使我使用的是foreach,因此仅检索1个模型

仅当Firebase Firestore中不存在文档时才创建它

仅当MongoDB中不存在新文档时如何插入

如何检索 SQL Server 中一个表的任何字段中不存在的数据?

确保文档不存在 friestore