ES sort原理

问题: 排序是在当前结果集中排 还是 排所有的文档。

答案: 排序是在索引创建时排所有的文档,查询时候会根据查询结果集,按排序规则获取对应的排序。

原因:

  1. 排序为 转置倒排索引。 转置结构 被称为 列存储Doc Values 为 列式存储结构。
    说明: Doc Values 就是一种列式存储结构,默认情况下每个字段的 Doc Values 都是激活的,Doc Values 是在索引时创建的,当字段索引时,Elasticsearch 为了能够快速检索,会把字段的值加入倒排索引中,同时它也会存储该字段的 Doc Values。
    用途: 排序,聚合,过滤,字段相关的脚本计算。
    加载: 内存空间够加载内存;内存不够加载到系统页缓存中。

排序发生在索引时建立的平行数据结构中。

字符类型排序使用注意:

  1. 字符串字段进行排序,字段应仅包含一项:整个no_analyzed字符串。
  2. 文本字段没有针对需要每个文档字段数据的操作(如聚合和排序)进行优化,因此这些操作在默认情况下是禁用的。改用keyword 关键字字段
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值