【问题标题】:Relevance score boost VS sort in ElasticsearchElasticsearch 中的相关性分数提升 VS 排序
【发布时间】:2021-04-16 19:21:13
【问题描述】:

我是 elasticsearch 的新手,对我应该在查询中使用排序还是提高相关性分数感到困惑。 如果不是排序,而是在用于排序的同一字段上提高分数,我会得到相同的结果。那么推荐的方法到底是什么?

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    提升是为了增加/减少字段的重要性,它发生在搜索过程中......对搜索的输出执行排序:

    假设您有以下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}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-07
      • 2023-03-18
      • 2017-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-27
      • 1970-01-01
      相关资源
      最近更新 更多