Elasticsearch中的相关性分数提升VS排序



我是弹性搜索的新手,我对在查询中应该使用排序还是提高相关性得分感到困惑。如果我不进行排序,而是在用于排序的同一字段上提高分数,我会得到相同的结果。那么,建议采取的方法究竟是什么呢?

Boosting用于增加/降低字段的重要性,它发生在搜索过程中。。。对搜索的输出执行排序:

假设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}

最新更新