默认按照_score排序,如果指定排序字段,_score字段不再经过计算,按照指定字段进行排序。但是如果指定字段是analyzed,排序就不可以按照我们想要的方式进行排序。需要按照下面设置,使用tweet.raw进行排序。
"tweet": {
"type": "string",
"analyzer": "english",
"fields": {
"raw": {
"type": "string",
"index": "not_analyzed"
}
}
}
ES当前排序规则:
从首字母依次往后进行比较,汉字在数字、特殊字符、英文之后,除汉字外按ASCII字符编码顺序排序,ASCII字符较小者在前。汉字默认是按照unicode排序。