在弹性搜索中按分数,距离范围和日期排序

时间:2016-05-05 23:53:34

标签: sorting elasticsearch

我想首先按相关性分数对文档进行排序,然后按距离带排序,如果得分相同,则按日期排序。

对于得分相同的文件,我想申请"距离绑定" - 首先是5英里内的文件,然后是5-10英里的文件,接着是10-15mi,15-25英里,25-50英里,50 + mi。在每个乐队(0-5),(5-10)等内,最新的文档将首先出现。

您如何建议在这里创建一个距离乐队?

1 个答案:

答案 0 :(得分:0)

您尝试的是多级排序,默认排序顺序是_score on querys,过滤器没有默认顺序,您可以使用“sort”属性覆盖订单

   "sort": [
      { "_score": { "order": "desc" }},
      { "distance":   { "order": "desc" }}
   ]

heres是multi-level sorting文档