【问题标题】:BM25 Similarity in ElasticsearchElasticsearch 中的 BM25 相似性
【发布时间】:2026-01-17 13:10:02
【问题描述】:

我想将 Elasticsearch 的默认相似度更改为 BM25。

根据

http://www.elasticsearch.org/guide/en/elasticsearch/reference/1.4/index-modules-similarity.html

我只需要将下面这行添加到 elasticsearch.yml 文件中

index.similarity.default.type: BM25

但是,BM25 有两个输入参数 k1b 我也想设置。

有人知道如何设置这些参数吗?

【问题讨论】:

标签: elasticsearch


【解决方案1】:

我找到了一个很好的页面来解释参数的含义。在这里:https://www.elastic.co/guide/en/elasticsearch/guide/current/pluggable-similarites.html

这是来自该页面的 sn-p:

k1 :此参数控制词频增加导致词频饱和的速度。默认值为 1.2。较低的值会导致较快的饱和度,较高的值会导致较慢的饱和度。

b :此参数控制字段长度标准化应该有多少效果。值 0.0 完全禁用标准化,值 1.0 完全标准化。默认值为 0.75。

【讨论】:

    【解决方案2】:

    在您的索引设置中,输入相似性设置,就像您将映射一样

    PUT /your_index/?pretty=1
    {
           "settings": {
              "similarity": {
                 "bm25-inverse-zero": {
                    "type": "BM25",
                    "b": 0
                 }
              },
    }
    

    【讨论】: