bmsimilarity的打分 调试参数

下面给出 一条极简、可复制的 DSL 链路:

 

1. 建索引(默认 BM25)  

2. 插入文档  

3. 触发 BM25 打分的查询  

 

---

 

1️⃣ 创建索引(什么都不改,就是 BM25)

 

```json

PUT /demo

{

  "mappings": {

    "properties": {

      "title": { "type": "text" } // 默认 similarity = BM25

    }

  }

}

```

 

---

 

2️⃣ 插入文档

 

```json

POST /demo/_doc/1

{ "title": "Elasticsearch uses BM25 as default similarity" }

 

POST /demo/_doc/2

{ "title": "BM25 is a probabilistic ranking function" }

```

 

---

 

3️⃣ 触发 BM25 打分查询(非 filter)

 

```json

GET /demo/_search

{

  "query": {

    "match": {

      "title": "BM25"

    }

  }

}

```

 

---

 

✅ 验证方式

 

- 响应中每个 hit 都有 `_score` 字段,值各不相同 → 证明走了 BM25。  

- 如果改成 `"constant_score"` 或 `filter` 子句,则 `_score` 全为固定值(1.0),不会调用 BM25。

你可能感兴趣的:(elasticsearch)