ES四种排序方式

4 min read

ES提供了默认排序和自定义排序,默认排序通常都是按_score来排序的。

自定义排序通常是使用sourceBuilder.sort(new FieldSortBuilder("字段名").order(SortOrder.DESC));实现的。

SearchSourceBuilder允许添加一个或多个SortBuilder实例。SortBuilder有四种特殊的实现,

分别是:FieldSortBuilder、GeoDistanceSortBuilder、ScoreSortBuilder、ScriptSortBuilder

  • FieldSortBuilder:根据某个特殊字段排序

  • ScoreSortBuilder:根据score排序

  • GeoDistanceSortBuilder:根据地理位置排序

  • ScriptSortBuilder:根据自定义脚本排序