similarity
编辑similarity
编辑
Elasticsearch 允许您为每个字段配置文本评分算法或*相似度*。similarity
设置提供了一种简单的方法来选择默认 BM25
以外的文本相似度算法,例如 boolean
。
只有基于文本的字段类型(如 text
和 keyword
)支持此配置。
可以通过调整内置相似度的参数来配置自定义相似度。有关此专家选项的更多详细信息,请参阅相似度模块。
无需任何进一步配置即可开箱即用的唯一相似度是
-
BM25
- Okapi BM25 算法。Elasticsearch 和 Lucene 中默认使用的算法。
-
boolean
- 一种简单的布尔相似度,用于不需要全文排名且分数应仅基于查询词是否匹配的情况。布尔相似度为词语赋予与其查询提升值相等的分数。
可以在首次创建字段时在字段级别设置 similarity
,如下所示
response = client.indices.create( index: 'my-index-000001', body: { mappings: { properties: { default_field: { type: 'text' }, boolean_sim_field: { type: 'text', similarity: 'boolean' } } } } ) puts response