es boost权重提升

查询时的权重提升 是可以用来影响相关度的主要工具,任意类型的查询都能接受 boost 参数。将 boost 设置为 2 ,并不代表最终的评分 _score 是原值的两倍;实际的权重值会经过归一化和一些其他内部优化过程。尽管如此,它确实想要表明一个提升值为 2 的句子的重要性是提升值为 1 语句的两倍。



需要记住的是 boost 只是影响相关度评分的其中一个因子;它还需要与其他因子相互竞争。在前例中, title 字段相对 content 字段可能已经有一个 “缺省的” 权重提升值,这因为在 字段长度归一值 中,标题往往比相关内容要短,所以不要想当然的去盲目提升一些字段的权重。选择权重,检查结果,如此反复。

当在多个索引中搜索时,可以使用参数 indices_boost 来提升整个索引的权重



这个多索引查询涵盖了所有以字符串 docs_2014_ 开始的索引。



其中,索引 docs_2014_10 中的所有文件的权重是 3 ,索引 docs_2014_09 中是 2 ,其他所有匹配的索引权重为默认值 1 。



要想解读 explain 的输出是相当复杂的,在 explanation 里面完全看不到 boost 值,也完全无法访问上面提到的 t.getBoost() 方法,权重值融合在 queryNorm 中并应用到每个词。



https://www.elastic.co/guide/cn/elasticsearch/guide/current/query-time-boosting.html



Category storage