怎么又是你

请教dsl查询时输入的query的词如何去重呢

Elasticsearch | 作者 jiangxiaoyao | 发布于2021年10月12日 | 阅读数:1807

must": [
{
"multi_match": {
"analyzer": "ik_smart",
"query": "裤子裤子裤子",
"fields": ["title^3","xxxxxx"],
"tie_breaker": 0.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 看看算分差在了哪里
 
 

要回复问题请先登录注册