Elasticsearch-排序及DocValues&&FieldData

目录

排序

排序过程

Doc Values VS Field Data

关闭 Doc Values


排序

  • ES默认采用相关性算分对结果进行降序升序

  • 可以通过设定sorting参数,自行设定排序

  • 如果不指定_score,算分为null

  • "order_data":排序字段;"order":排序的方

Elasticsearch-排序及DocValues&&FieldData_第1张图片

  • 对类型为text的字段排序

Elasticsearch-排序及DocValues&&FieldData_第2张图片

  •  只有当fielddate设为tue时才可以对类型为text的字段进行排序

Elasticsearch-排序及DocValues&&FieldData_第3张图片

排序过程

  • 排序是针对字段原始内容进行的,倒排索引无法发挥作用

  • 需要用到正排索引,通过id和字段快速得到字段原始内容

  • ES有两种实现方法

    • Fielddate

    • Doc Values(列式存储,对Text类型无效,对text字段进行排序,要求Fielddate打开)

Doc Values VS Field Data

Elasticsearch-排序及DocValues&&FieldData_第4张图片

关闭 Doc Values

Elasticsearch-排序及DocValues&&FieldData_第5张图片

  • 默认启用,可以通过Mappping设置关闭

    • 增加索引速度/减少磁盘空间

  • 如果需要重新打开,需要重建索引

  • 什么时候需要关闭

    • 明确不需要做排序及聚合分析

你可能感兴趣的:(elasticsearch)