如何定制搜索结果的排序规则

如何定制搜索结果的排序规则
1、默认排序规则

默认情况下,是按照_score降序排序的

然而,某些情况下,可能没有有用到_score,比如说filter

GET /_search
{
​ “query” : {
​ “bool” : {
​ “filter” : {
​ “term” : {
​ “author_id” : 1
​ }
​ }
​ }
​ }
}

当然,也可以是constant_score

GET /_search
{
​ “query” : {
​ “constant_score” : {
​ “filter” : {
​ “term” : {
​ “author_id” : 1
​ }
​ }
​ }
​ }
}

2、定制排序规则 (使用 sort 关键字)

GET /company/employee/_search
{
“query”: {
​ “constant_score”: {
​ “filter”: {
​ “range”: {
​ “age”: {
​ “gte”: 30
​ }
​ }
​ }
​ }
},
“sort”: [
​ {
​ “join_date”: {
​ “order”: “asc”
​ }
​ }
]
}

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • © 2020 John Doe
  • Powered by Hexo Theme Ayer
  • PV: UV:

请我喝杯咖啡吧~

支付宝
微信