【发布时间】:2021-04-16 19:21:13
【问题描述】:
我是 elasticsearch 的新手,对我应该在查询中使用排序还是提高相关性分数感到困惑。 如果不是排序,而是在用于排序的同一字段上提高分数,我会得到相同的结果。那么推荐的方法到底是什么?
【问题讨论】:
标签: elasticsearch
我是 elasticsearch 的新手,对我应该在查询中使用排序还是提高相关性分数感到困惑。 如果不是排序,而是在用于排序的同一字段上提高分数,我会得到相同的结果。那么推荐的方法到底是什么?
【问题讨论】:
标签: elasticsearch
提升是为了增加/减少字段的重要性,它发生在搜索过程中......对搜索的输出执行排序:
假设您有以下Student 字段:
现在假设您的搜索引擎中有以下记录:
{John, Smith, 12}
{Jane, Winston, 13}
{Winston, Peters, 11}
如果您搜索术语:“Winston”,您会得到以下结果:
Search Term: 'Winston'
SortBy: Default
Result: both results have the same score and either one may appear on the top
{Jane, Winston, 13}
{Winston, Peters, 11}
现在让我们假设Surname 对你来说更重要,那么你将提升Surname 的字段:
Search Term: 'Winston' (Surname boosted)
SortBy: Default
Result: Jane Winston would have higher score because Surname is boosted
{Jane, Winston, 13}
{Winston, Peters, 11}
默认情况下,结果按相关性(即分数)排序,但您可以更改排序顺序...假设您想按Age 对相同的结果进行排序:
Search Term: 'Winston' (Surname boosted)
SortBy: Age
Result: Winston Peters appears first even though it has lower score
{Winston, Peters, 11}
{Jane, Winston, 13}
【讨论】: