Elasticsearch Multi Get 与聚合

标签 elasticsearch

您可以将 Multi Get API 与聚合/方面结合使用吗?

例如,如果我存储名为 Shapes 的文档,并且有 500 个 shape_ids,则每个形状都有一个 side_count,我想找出该 shape_ids 列表的平均 side_count。

最佳答案

与搜索请求相比,获取请求非常不同。 get 并不意味着任何查询,因为给定的文档索引、类型和 id(或路由)我们知道它在哪里(哪个分片),因此文档是从感兴趣的分片中检索并返回的。多重获取只是一种变体,它以更优化的方式对多个文档执行相同的操作,因为它对每个分片的获取请求进行分组,从而最大限度地减少网络往返。另请注意,get 是实时的,因为文档可以从 lucene 索引检索,也可以从 elasticsearch 事务日志检索(如果尚未可用于搜索)。

聚合需要搜索请求,并且不能在 get 请求返回的文档之上运行。通过使用搜索 api 和 ids filter,您也许能够获得相同的结果。而不是多重获取。

关于Elasticsearch Multi Get 与聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23090435/

相关文章:

elasticsearch - 使用 logstash 和 kibana 分析来自日志文件的延迟

java - 将 JSON 的嵌套字段转换为 java 对象

python - Elasticsearch术语聚合

spring - 无法让 Elasticsearch 插件与 Grails 3 一起使用

elasticsearch - 无法将Filebeat连接到Logstash以使用ELK进行日志记录

elasticsearch - 在Elasticsearch集群中索引文档时出错

java - Elasticsearch Mustache 可选参数

elasticsearch - SonarQube 进程退出,退出值 [es] : 137

java - Elasticsearch集群连接

c# - ElasticSearch NEST客户端中的SQL Case语句实现