ES排序失效
使用ES进行分页查询时,使用order进行排序,发现排序失效,以为是添加了筛选条件的问题,去掉筛选条件,发现排序依然失效。经排查发现如果根据某个字段进行排序,该字段的类型如果为keyword,会导致排序失效,查看结果,可以看到sort中的结果为字符串(由于seq_rank类型已经修改过了,所以在这里以i_level举例),但是如果改成Integer,可以看到sort中的值为数字。1.keyword
·
使用ES进行分页查询时,使用order进行排序,发现排序失效,以为是添加了筛选条件的问题,去掉筛选条件,发现排序依然失效。
经排查发现如果根据某个字段进行排序,该字段的类型如果为keyword,会导致排序失效,查看结果,可以看到sort中的结果为字符串(由于seq_rank类型已经修改过了,所以在这里以i_level举例),但是如果改成Integer,可以看到sort中的值为数字。
1.keyword:
2.integer:
3.
http://127.0.0.1:9200/person_info/
/_search/ POST
{
"from": 1,
"size": 10,
"query": {
"bool": {
"must": [
{
"term": {
"month": {
"value": "2021-04",
"boost": 1
}
}
}
],
"adjust_pure_negative": true,
"boost": 1
}
},
"sort": [
{
"seq_rank": {
"order": "asc"
}
}
]
}
更多推荐
所有评论(0)