欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 焦点 > ES如果要查10条数据需要从各个分片上各取多少条数据?

ES如果要查10条数据需要从各个分片上各取多少条数据?

2025/3/28 7:46:31 来源:https://blog.csdn.net/oqkdws/article/details/146408603  浏览:    关键词:ES如果要查10条数据需要从各个分片上各取多少条数据?

目录

ES如果要查10条数据需要从各个分片上各取多少条数据?

简单查询(如 match_all 或 term 查询)

深度分页查询(如 from + size 查询)

聚合查询

什么叫聚合查询?

聚合查询的基本结构

常见的聚合类型

聚合查询的执行过程

 聚合查询的示例

聚合查询的应用场景

注意事项


ES如果要查10条数据需要从各个分片上各取多少条数据?

在 Elasticsearch 中,查询数据时,每个分片会返回一定数量的文档,然后协调节点将这些结果汇总并排序,最终返回给用户。具体每个分片返回多少条数据,取决于查询的类型和分片的数量。

假设你有以下条件:

  • 索引有 N 个分片。

  • 你要查询 10 条数据。

简单查询(如 match_all 或 term 查询)

对于简单的查询,Elasticsearch 会从每个分片上获取 size 条数据(size 是你请求的文档数量),然后协调节点对这些结果进行排序并返回前 size 条。

  • 如果你有 N 个分片,并且要查询 10 条数据,那么每个分片会返回 10 条数据。

  • 协调节点会收到 N * 10 条数据,然后对这些数据进行排序,返回前 10 条。

深度分页查询(如 from + size 查询)

如果你使用了深度分页(例如 from=1000, size=10),Elasticsearch 会从每个分片上获取 from + size 条数据。

  • 例如,from=1000, size=10,每个分片会返回 1010 条数据。

  • 协调节点会收到 N * 1010 条数据,然后对这些数据进行排序,返回第 1000 到 1010 条数据。

聚合查询

对于聚合查询,Elasticsearch 会在每个分片上执行聚合操作,然后将结果汇总。每个分片返回的数据量取决于聚合的类型和分片上的数据分布。

总结

  • 简单查询:每个分片返回 10 条数据。

  • 深度分页查询:每个分片返回 from +

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词