
作用就是聚合前的采样,主要是采样 它就是用来采样的,采完样后在进行聚合操作
`random_sampler`和`diversified_sampler`是 Elasticsearch 中用于聚合查询的两种采样方法,它们的主要区别如下:
采样方式
• `random_sampler`:通过随机选择文档的方式进行采样。它会根据指定的概率(`probability`参数)从整个文档集合中随机抽取文档,而不考虑文档的其他特征。
• `diversified_sampler`:在采样的基础上增加了多样性限制。它会根据指定的字段(`field`参数)对文档进行分组,并限制每个分组中最多采样的文档数量(`max_docs_per_value`参数),从而确保采样结果中包含更多不同的字段值。
适用场景
• `random_sampler`:适用于需要快速获取近似结果的场景,尤其是在数据量非常大时,可以通过采样显著提高查询性能。例如,计算价格的百分位数时,可以使用随机采样来快速得到一个近似的结果。
• `diversified_sampler`:适用于需要消除数据偏差的场景,例如在分析用户生成的内容时,避免某些用户或来源的过度影响。例如,在分析 StackOverflow 上的标签时,可以通过限制每个作者的文档数量来避免某些作者的偏好对结果的影响。
参数设置
• `random_sampler`:
• `probability`:指定采样的概率,必须大于 0 且小于 0.5。
• `seed`:可选参数,用于指定随机采样的种子,确保多次查询的结果一致。
• `diversified_sampler`:
• `field`:指定用于去重的字段。
• `max_docs_per_value`:

最低0.47元/天 解锁文章
2187

被折叠的 条评论
为什么被折叠?



