Elasticsearch深度探秘搜索技术基于tie_breaker参数优化dis_max搜索效果
创始人
2024-05-05 16:51:58
0

接着…

搜索title或content中包含java beginner的帖子
GET /post/_search
{"query": {"dis_max": {"queries": [{ "match": { "title": "java beginner" }},{ "match": { "content":  "java beginner" }}]}}
}

有些场景不是太好复现的,因为是这样,你需要尝试去构造不同的文本,然后去构造一些搜索出来,去达到你要的一个效果

可能在实际场景中出现的一个情况是这样的:
(1)某个帖子,doc1,title中包含java,content不包含java beginner任何一个关键词
(2)某个帖子,doc2,content中包含beginner,title中不包含任何一个关键词
(3)某个帖子,doc3,title中包含java,content中包含beginner
(4)最终搜索,可能出来的结果是,doc1和doc2排在doc3的前面,而不是我们期望的doc3排在最前面

dis_max,只是取分数最高的那个query的分数而已。

dis_max只取某一个query最大的分数,完全不考虑其他query的分数
使用tie_breaker将其他query的分数也考虑进去

tie_breaker参数的意义,在于说,将其他query的分数,乘以tie_breaker,然后综合与最高分数的那个query的分数,综合在一起进行计算

除了取最高分以外,还会考虑其他query的分数
tie_breaker的值,在0~1之间,是个小数,就ok

GET /post/_search
{"query": {"dis_max": {"queries": [{ "match": { "title": "java beginner" }},{ "match": { "content":  "java beginner" }}],"tie_breaker": 0.3}}
}

相关内容

热门资讯

掘出尘烟深处的人性   ▌汪泉《青烟》杜万青 著 作家出版社  一缕青烟从祁连山深处飘逸而出,那青烟的下面是晚清至民国时...
中信银行焕新发布“小天元”企业...   在数字经济成为国家核心竞争力的战略背景下,中央金融工作会议将“数字金融”列为“五篇大文章”核心要...
中粮资本涨2.98%,成交额1... 7月11日,中粮资本涨2.98%,成交额19.32亿元,换手率6.29%,总市值310.59亿元。异...
智慧农业涨0.31%,成交额1... 7月11日,智慧农业涨0.31%,成交额1.46亿元,换手率3.20%,总市值46.45亿元。异动分...
华星创业涨0.58%,成交额7... 7月11日,华星创业涨0.58%,成交额7994.56万元,换手率2.69%,总市值35.16亿元。...
星空卫视的海贼王 星空卫视的海贼王星空卫视的动漫现在还播放国语版的海贼王吗?? 我只知道现在就播放到380集 后面就没...
赛轮轮胎跌0.15%,成交额3... 7月11日,赛轮轮胎跌0.15%,成交额3.57亿元,换手率0.81%,总市值438.63亿元。异动...
安道麦A涨0.67%,成交额3... 7月11日,安道麦A涨0.67%,成交额3789.80万元,换手率0.23%,总市值174.97亿元...
金钼股份涨2.60%,成交额4... 7月11日,金钼股份涨2.60%,成交额4.50亿元,换手率1.22%,总市值368.80亿元。异动...
仙琚制药涨0.74%,成交额1... 7月11日,仙琚制药涨0.74%,成交额1.61亿元,换手率1.72%,总市值94.17亿元。异动分...