elasticsearch - Elasticsearch 中权重和提升的区别

标签 elasticsearch solr-boost

我阅读了有关在 Elasticsearch 中提升的内容。我们可以在索引或查询时应用 boosting。索引时间提升是一种静态提升,不建议使用。查询时间提升本质上是动态的。查询时间提升是很好的首选方法。

我们还可以为字段添加增强功能。例如,我们在多个字段中搜索一个术语。我们可以提升一个字段来改变文档的分数。

{
   "match":{"title":{"query":"test string","boost":10}}
},

我读过体重。
{
     "filter": { "match": { "test": "cat" } },
     "weight": 42
}

我的理解是在字段上应用权重以改变相关性或分数。
Boost 应用于查询以更改相关性或分数。

但我不确定重量和提升的差异。

有人可以通过一些例子纠正我理解重量和提升之间的区别吗?

最佳答案

1. Elasticsearch 中的相关性调整正在改变字段相互加权的方式,或者在给定字段内的值的情况下提高相关性。注意:您必须至少有两个架构字段来调整相关性。
2. 重量 适用于字段 . 提升 设置在字段之上,但它们应用于 字段值 .
3. 重量

  • 每个字段的可能权重为 0 到 10,10 是最重要的权重。
    curl -X GET 'https://host-2376rb.api.swiftype.com/api/as/v1/engines/national-parks-demo/search'
    -H '内容类型:应用程序/json'
    -H '授权:承载搜索-soaewu2ye6uc45dr8mcd54v8'
    -d'{
    “搜索字段”:{
    “标题”: {
    “重量”:10
    },
    “描述”: {
    “重量”:1
    },
    “状态”: {
    “重量”:2
    }
    },
    “查询”:“山脉”
    }'

  • 这里我们要求只返回结果中的三个字段:标题、描述和状态。 我们对每个字段进行加权:分别为 10、1 和 2。
    4. 提升
  • 有 4 种 Boosts。使用提升来增加相关性。
    {
    “询问” : {
    “dis_max”:{
    “查询”:[
    { “比赛” :
    {“资格”:
    {
    “查询”:“社交媒体”,
    “提升”:2
    }
    }
    },
    { “比赛” :
    {“cover_letter”:“社交媒体”}
    }
    ]
    }
    }
    }

  • 在这里,我们为 disjunction max query 添加了一个提升。对于在简历中列出“社交媒体”的求职者。与如果“社交媒体”出现在 cover_letter 字段中时没有提升相比,此示例将“资格”字段中的查询匹配提高 2。
    在这些示例中,无论如何,权重都很难固定到字段上,其中提升很难固定在查询“社交媒体”上,但前提是它在资格字段内匹配。希望这会有所帮助..
  • Elastic Search doc on the matter
  • A really good Boosting example including negative_boost, field_value_factor, and date based weight decay
  • 关于此事的其他非常有用的链接 boost_1 , boost_2 , boost_3 , boost_4 , weight_1
  • 关于elasticsearch - Elasticsearch 中权重和提升的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61956183/

    相关文章:

    elasticsearch - 通过Solr或Elastics中的动态数据评分

    java - 从java应用程序到elasticsearch的并发输出

    elasticsearch - 内存 Elasticsearch

    elasticsearch - 如何使用 ElasticSearch 在字符串字段中搜索精确短语?

    SOLR 精确匹配提升包含精确匹配的文本

    solr - 如何通过 geodist() 的逆来提高 Solr 相关性分数

    elasticsearch - 从Docker中的配置文件加载Elasticsearch

    elasticsearch - docker 容器的默认 elasticsearch 配置

    elasticsearch - Elasticsearch 中带有提升字段的查询字符串

    elasticsearch - 在Elasticsearch中操纵分数