must": [
{
"multi_match": {
"analyzer": "ik_smart",
"query": "裤子裤子裤子",
"fields": ["title^3","xxxxxx"],
"tie_breaker": 0.1
}
}
想达到效果和输入一个裤子得到的结果一致,目前是算分排序不一致
{
"multi_match": {
"analyzer": "ik_smart",
"query": "裤子裤子裤子",
"fields": ["title^3","xxxxxx"],
"tie_breaker": 0.1
}
}
想达到效果和输入一个裤子得到的结果一致,目前是算分排序不一致
1 个回复
caster_QL
赞同来自: jiangxiaoyao
ik_smart 默认将 "裤子裤子裤子" 分词为三个 "裤子";
match 查询区别就是得分为单个 "裤子" 的三倍,不会影响得分排序;
multi_match 算分方式为 title.score*3 + 0.1*xxxxxx.score 或者 0.1*title.score*3 + xxxxxx.score,再乘以个3,也不会影响算分排序。
方便提供你的测试用例么,或者你可以设置 "explain": true 看看算分差在了哪里