elasticsearch - ElasticSearch:查询以检查是否存在具有指定字段值的元素

标签 elasticsearch

我有一个元素ID的列表(例如:[1、23、42、45]),我正在寻找最快的方法来检查ES数据库中具有这些ID的元素是否已经存在。结果,我想接收仅包含Elasticsearch中存在的ID的响应:例如[1,42]-这意味着ID为1和42的元素仍在数据库中。

现在,我对数据库中的所有元素ID进行查询,然后检查这些列表上是否是我的[1、23、42、45]。有没有更快的方法?

最佳答案

您可以使用 ids query:

GET /your_index/your_type/_search
{
  "query": {
    "ids": {
      "values": [1, 23, 42, 45]
    }
  },
  "fields": []
}

关于elasticsearch - ElasticSearch:查询以检查是否存在具有指定字段值的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31297164/

相关文章:

elasticsearch - 使用 'now'关键字时, Elasticsearch 如何计算当前日期?

elasticsearch - 如何编写查询 Elasticsearch ?

elasticsearch - Elasticsearch/Nest-组合多个范围查询(OIC语法)

elasticsearch - Kibana-仅在某些情况下可视化消息

docker - 从部署为 Kubernetes Daemonset 的 filebeat 多行登录到 ES

javascript - 如何在elasticsearch客户端搜索功能中仅获取 '_source'字段?

amazon-web-services - 从WAF/Kinesis获取时间戳到Elasticsearch

elasticsearch - 节点之一重新启动后,Elasticsearch中的未分配碎片

ElasticSearch-如何组合不同查询的结果来提高平均精度

ruby-on-rails - ElasticSearch Rails:如果存在,则按date1排序,否则按date2排序