【HBZ分享】ES的评分score机制的原理

这篇具有很好参考价值的文章主要介绍了【HBZ分享】ES的评分score机制的原理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

score类型

  1. 基础评分boost,默认2.2,
  2. 逆向文档频率值(IDF):表示该词再文档中(ES中)出现的次数越多,表示越不重要,评分越低
  3. 关键词在文档中出现的频率(TF):表示该词在文档中出现的频率,频率越高表示越重要,评分越高
    注意: IDF是出现次数越多,则评分越低, 而TF是出现次数越高,则评分越高,一正一反

score评分机制的计算

  1. boost × idf × tf
  2. 字段的权重 × 逆向文档频率的值 × 关键词在文档中出现的频率值

ES查询时带上评分计算

加上explain 和mysql查看索引使用情况是同一个词
GET /test_index/_search?explain=true

如何自定义评分机制

  1. 权重配置: 通过指定boost基础评分,来定制总评分, 查询请求如下,需要指定boost,来定制哪个词查询基础分更大,即相同频率下该次就会评分更高,会放在前面
GET /test_index/_search
{
	"query": {
		"bool": {
			"should": [
				{
					"match": {
						"summary": {"query": "boot", "boost": 1} // 指定查boot的基础评分boost = 1, 不指定boost则默认2.2
					}
				}, 
				{
					"match": {
						"summary": {"query": "java", "boost": 3} // 指定查boot的基础评分boost = 3, 不指定boost则默认2.2
					}
				}, 
				{
					"match": {
						"summary": {"query": "cloud", "boost": 1} // 指定查boot的基础评分boost = 1, 不指定boost则默认2.2
					}
				},
				{
					"match": {
						"summary": {"query": "spring", "boost": 1} // 指定查boot的基础评分boost = 1, 不指定boost则默认2.2
					}
				}, 
			]
		}
	}
}
  1. 公式定制化: ES提供了一些内置评分函数(BM25), 根据需要进行参数调整,或者使用自定义评分函数来实现
  2. 自定义评分插件

文章来源地址https://www.toymoban.com/news/detail-639068.html

到了这里,关于【HBZ分享】ES的评分score机制的原理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ElasticSearch[八]:自定义评分功能、使用场景讲解以及 function_score常用的字段解释

    基本介绍 ES 的使用中,ES 会对我们匹配文档进行相关度评分。但对于一些定制化的场景,默认评分规则满足不了我们的要求。这些定制化场景,ES 也是推出了自定义评分方式来进行支持。可以使用 ES 提供的一些函数,什么可以使用较分来让我们的评分规则多样化。我举个大

    2024年01月24日
    浏览(42)
  • 【HBZ分享】ES分词器的拆分规则 及 算法

    常见的分词器,如Standard分词器、Simple分词器、Whitespace分词器、IK分词等,还支持自定义分词器(比如一些小国家的语言需要自定义分词器) ES默认就是Standard分词器 标记化 :分词器第一步是将文本拆分成单个标记(tokens), 就是单个的单词或中文词组,这个标记可以是单词,数组

    2024年02月06日
    浏览(42)
  • ES(6)查询评分机制

    基于词频和逆文档词频公式简称 TF-IDF公式 得分 = boost(权重) * idf * tf 分数越高查询到的位置越靠前 Term Frequency: 搜索文本中的各个词条(term) 在查询文本中出现了多少次,次数越多评分越高 Inverse Document Frequency: 搜索文本中的各个词条在整个索引的所有文档中出现了多少次,出

    2024年02月15日
    浏览(42)
  • elasticsearch[七]:ES评分规则详解[查询评分规则、自定义评分规则]

    因为需要对搜索结果进行一个统一化的评分,因此需要仔细研究 ES 本身的评分规则从而想办法把评分统一。 省流:无法确切统一化 之前有说过 ES 的查询评分原理,那么仔细思考之后就会发现,长文本搜索对应的 score 会比短文本搜索的 score 高很多:score = 单个分词评分之和

    2024年01月20日
    浏览(84)
  • [HBZ分享] 小米手机如何解BL锁

    第一步: 进入【设置—我的设备–全部参数–连续疯狂的点MIUI版本那一行】 第二步:进入【更多设置–开发者模式】,打开USB调试 与 USB安装 第三步:进入【更多设置–开发者模式】,进入【设别解锁状态】,在下方有一个【绑定账号和设备】按钮,点击这个按钮进行绑定

    2024年02月07日
    浏览(51)
  • 【HBZ分享】TCP可靠性传输如何保证的?

    ACK机制是发送方与接收方的一个相互确认 客户端向服务端发送连接请求,此时服务端要回馈给客户端ACK,以表示服务端接到了客户端请求,这是第一和的第二次握手 客户端接收到服务端响应后,同样也要回馈服务端的响应,告知服务端我收到了你的回馈,我们可以进行传输

    2024年02月10日
    浏览(36)
  • Python爬虫案例分享【爬取豆瓣电影排行榜的电影名称和评分】

    注意:在运行此代码之前,请确保已安装 requests 和 beautifulsoup4 库

    2024年01月19日
    浏览(68)
  • 【HBZ分享】高并发下Redis+Nginx+Lua+Canal架构体系设计

    设计简单,可以支持普通并发现的大部分需求,但如果并发太高,该方案依然无法支撑。 瓶颈卡在tomcat的并发量低 通过lua直连redis nginx判断是否从nginx中直接获取缓存,如果需要获取,则通过lua直接去redis读取,并返回,整个过程不需要经历应用程序这层,所以性能很高,单

    2024年02月12日
    浏览(48)
  • 分类模型评估(混淆矩阵, precision, recall, f1-score)的原理和Python实现

    当我们已经获取到一个分类模型的预测值,可以通过不同指标来进行评估。 往往衡量二分类模型是基于以下的混淆矩阵概念: True Positive:真实值为正、预测值为正(真阳性) False Positive:真实值为负、预测值为正(假阳性) False Negative:真实值为正、预测值为负(假阴性)

    2024年02月04日
    浏览(52)
  • ElasticSearch内容分享(四):ES搜索引擎

    目录 ES搜索引擎 1. DSL设置查询条件 1.1 DSL查询分类 1.2 全文检索查询 1.2.1 使用场景 1.2.2 match查询 1.2.3 mulit_match查询 1.3 精准查询 1.3.1 term查询 1.3.2 range查询 1.4 地理坐标查询 1.4.1 矩形范围查询 1.4.2 附近(圆形)查询 1.5 复合查询 1.5.0 复合查询归纳 1.5.1 相关性算分 1.5.2 算分函数查

    2024年02月05日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包