Elasticsearch 7-当三名医生得分相同时,平局被打破



我在弹性搜索中有一个导师索引。我已经在那里存储了所有导师的数据。如果两个文档在弹性搜索中有相同的分数,我想进行平局决胜查询。就像如果两个导师的分数相同,那么我想先显示教学时间更长的导师,如果分数也相同,那么我们想先显示先注册的导师。

我的索引数据如下:

{
"_index": "tutors",
"_type": "tutors",
"_id": "1",
"_score": 1.2308,
"_source": {
"first_name": "Alessia",
"last_name": "Williams",
"slug": "alessia",
"verified": 1,
"approved": 1,
"total_teaching_hours": 105,
"registered_at": "2022-01-14T07:36:48.000000Z",
}
},
{
"_index": "tutors",
"_type": "tutors",
"_id": "2",
"_score": 1.2308,
"_source": {
"first_name": "Anika",
"last_name": "Rivera",
"slug": "anika",
"verified": 1,
"approved": 1,
"total_teaching_hours": 104,
"registered_at": "2022-02-14T07:36:48.000000Z",
}
},
{
"_index": "tutors",
"_type": "tutors",
"_id": "3",
"_score": 1.2308,
"_source": {
"first_name": "Anika",
"last_name": "Rivera",
"slug": "anika",
"verified": 1,
"approved": 1,
"total_teaching_hours": 105,
"registered_at": "2022-02-14T07:36:48.000000Z",
}
}

请查看此处的文档。

查询结果如下:

{
"query": {....},
"sort": [
"_score",
{
"total_teaching_hours": {
"order": desc
}
},
{
"registered_at": {
"order": asc
}
}
]
}

最新更新