gpt4 book ai didi

elasticsearch - Elasticsearch 自动切片有什么作用?

转载 作者:行者123 更新时间:2023-11-29 02:50:46 27 4
gpt4 key购买 nike

什么是Elasticsearch automatic slicing做?我发现文档对此功能非常简洁。我尝试搜索此功能的其他解释,但无济于事。我也没有找到 Elasticsearch 中的切片。

最佳答案

自动切片是一种并行处理几个不同端点的方法,例如 reindex , update by querydelete by query .

以上三个 API 的工作方式都是一样的,即 scroll query。超过目标指标。滚动查询提供了一种比普通分页查询产生更大结果集的查询更高效的方式。 slicing them 可以进一步改进滚动查询.

很明显,如果查询应该返回大量匹配项,您可以使用 from/size 进行正常查询并分页结果,但是不会因为 deep-paging 而表现不佳.为避免该问题,ES 允许您使用滚动查询以分批获得 N 次命中的结果。这些滚动查询可以通过切片进一步改进,即将滚动拆分为多个切片,您的客户端应用程序可以独立使用这些切片。

因此,假设您有一个应该返回 1,000,000 次匹配的查询,并且您想要以 50,000 次匹配为一组滚动该结果集,使用普通滚动查询(即不切片),您的客户端应用程序将必须进行第一次滚动调用,然后进行 20 次以上的同步调用(即一个接一个)以检索每批 50K 次点击。

通过使用切片,您可以并行化 20 个滚动调用。如果您的客户端应用程序是多线程的,您可以让每个滚动调用使用 5 个(例如)切片,因此,您最终会得到 5 个切片,每个切片约 10K 次点击,应用程序中的 5 个不同线程可以使用这些切片,而不是让单个线程消耗 50K 次点击。因此,您可以利用客户端应用程序的全部计算能力来消耗这些命中。

理想的切片数应该是源索引中分片数的倍数。为了获得最佳性能,您应该选择与源索引中的分片数量相同的切片。出于这个原因,您可能希望使用自动切片而不是手动切片,因为 ES 会为您选择那个数字。

关于elasticsearch - Elasticsearch 自动切片有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43211387/

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