score類型
- 基礎(chǔ)評分boost,默認(rèn)2.2,
- 逆向文檔頻率值(IDF):表示該詞再文檔中(ES中)出現(xiàn)的次數(shù)越多,表示越不重要,評分越低
- 關(guān)鍵詞在文檔中出現(xiàn)的頻率(TF):表示該詞在文檔中出現(xiàn)的頻率,頻率越高表示越重要,評分越高
注意: IDF是出現(xiàn)次數(shù)越多,則評分越低, 而TF是出現(xiàn)次數(shù)越高,則評分越高,一正一反
score評分機(jī)制的計(jì)算
- boost × idf × tf
- 字段的權(quán)重 × 逆向文檔頻率的值 × 關(guān)鍵詞在文檔中出現(xiàn)的頻率值
ES查詢時(shí)帶上評分計(jì)算
加上explain 和mysql查看索引使用情況是同一個(gè)詞
GET /test_index/_search?explain=true
如何自定義評分機(jī)制
- 權(quán)重配置: 通過指定boost基礎(chǔ)評分,來定制總評分, 查詢請求如下,需要指定boost,來定制哪個(gè)詞查詢基礎(chǔ)分更大,即相同頻率下該次就會評分更高,會放在前面
GET /test_index/_search
{
"query": {
"bool": {
"should": [
{
"match": {
"summary": {"query": "boot", "boost": 1} // 指定查boot的基礎(chǔ)評分boost = 1, 不指定boost則默認(rèn)2.2
}
},
{
"match": {
"summary": {"query": "java", "boost": 3} // 指定查boot的基礎(chǔ)評分boost = 3, 不指定boost則默認(rèn)2.2
}
},
{
"match": {
"summary": {"query": "cloud", "boost": 1} // 指定查boot的基礎(chǔ)評分boost = 1, 不指定boost則默認(rèn)2.2
}
},
{
"match": {
"summary": {"query": "spring", "boost": 1} // 指定查boot的基礎(chǔ)評分boost = 1, 不指定boost則默認(rèn)2.2
}
},
]
}
}
}
- 公式定制化: ES提供了一些內(nèi)置評分函數(shù)(BM25), 根據(jù)需要進(jìn)行參數(shù)調(diào)整,或者使用自定義評分函數(shù)來實(shí)現(xiàn)
- 自定義評分插件
文章來源地址http://www.zghlxwxcb.cn/news/detail-639068.html
文章來源:http://www.zghlxwxcb.cn/news/detail-639068.html
到了這里,關(guān)于【HBZ分享】ES的評分score機(jī)制的原理的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!