gpt4 book ai didi

api - Elastic Search Scroll API异步执行

转载 作者:行者123 更新时间:2023-12-02 22:35:37 25 4
gpt4 key购买 nike

我正在运行一个 flex 搜索集群5.6版本,每天索引大小为70Gb。在一天结束时,我们要求对过去7天的每个小时进行汇总。我们正在使用High Rest客户端的Java版本,并考虑到每个查询返回的文档数量对于滚动结果至关重要。

为了利用我们拥有的CPU并减少读取时间,我们正在考虑使用搜索滚动异步版本,但我们缺少一些示例,至少缺少其中的逻辑可以继续前进。

我们已经检查过 flex 相关的文档,但这是模糊的:

https://www.elastic.co/guide/en/elasticsearch/client/java-rest/5.6/java-rest-high-search-scroll.html#java-rest-high-search-scroll-async

我们还在他们所说的 flex 讨论论坛中提问,但似乎没人能回答:

https://discuss.elastic.co/t/no-code-for-example-of-using-scrollasync-with-the-java-high-level-rest-client/165126

在这方面的任何帮助将不胜感激,可以肯定的是,我不是唯一拥有此要求的人。

最佳答案

summarizations of each hour for the last 7 day



听起来您想对数据运行一些汇总,而不要获取原始文档。可能在第一级上是 日期直方图,以便以1小时为间隔进行汇总。在该日期直方图中,您需要一个内部aggs来运行聚合-指标/存储桶取决于所需的汇总。

从Elasticsearch v6.1开始,您可以使用 Composite Aggregation以便通过分页获取所有结果存储桶。从我链接的文档中:

the composite aggregation can be used to paginate all buckets from a multi-level aggregation efficiently. This aggregation provides a way to stream all buckets of a specific aggregation similarly to what scroll does for documents.



不幸的是,此选项在v6.1之前不存在,因此您要么需要升级ES才能使用它,要么找到另一种方式(例如中断多个查询)一起满足7天的需求。

关于api - Elastic Search Scroll API异步执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54413502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com