是什么Elasticsearch自动切片吗?我发现文档对这个函数非常简洁.我试图寻找这个功能的其他解释,但无济于事.我都没有设法找到Elasticsearch中的切片.
Val*_*Val 16
自动切片是并行工作的几个不同的端点,比如一种方式重新索引,更新通过查询和通过查询删除.
通过对目标索引进行滚动查询,上述三个API的工作方式相同.滚动查询提供了一种更高效的方法,使查询产生比普通分页查询更大的结果集.通过切片可以进一步改进滚动查询.
很明显,如果一个查询应该返回大量的命中,你可以使用from/ 进行正常查询和翻页结果size,但由于深度分页,这不会有效.为了避免这个问题,ES允许您使用滚动查询以获得N次点击的批量结果.这些滚动查询可以通过对它们进行切片来进一步改进,即将滚动分割为多个切片,这些切片可以由客户端应用程序独立使用.
因此,假设您有一个应该返回1,000,000次点击的查询,并且您希望使用正常的滚动查询(即没有切片)以50,000次点击的方式滚动该结果集,您的客户端应用程序将必须首先进行滚动调用然后再进行20次同步调用(即一个接一个)来检索每批50K命中.
通过使用切片,您可以并行化20个滚动调用.如果您的客户端应用程序是多线程的,您可以使每个滚动调用使用5个(例如)切片,因此,您将最终得到5个~10K命中,可以被应用程序中的5个不同线程使用,而不是拥有一个线程消耗50K命中.因此,您可以利用客户端应用程序的全部计算能力来消耗这些命中.
理想的切片数量应该是源索引中碎片数量的倍数.为获得最佳性能,您应该选择与源索引中的分片数相同的切片数.因此,您可能希望使用自动切片而不是手动切片,因为ES会为您选择该数字.
| 归档时间: |
|
| 查看次数: |
2172 次 |
| 最近记录: |