您可以将 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/