elasticsearch
排序一般是按照相关性分数(relevance score)
排序,或者mapping
中其他字段.除此之外,elasticsearch
还可以自己编写脚本来对结果排序.基本用法如下:
'sort' => [
'_script' => [
'script' => [
'lang' => 'painless',
'source' => "排序算法代码",
'params' => [
// 传入source中的参数
],
],
'order' => 'asc/desc'
]
],
lang
指定脚本的语言, painless
是elasticsearch
的默认脚本语言.source
是写代码的地方.params
是source
中需要传入的参数.painless
语法在这里