-
相关性算分
相关性算分是指文档与查询语句间的相关度(relevance),通过倒排索引可以获取与查询语句相匹配的文档列表,那么如何将最符合用户查询需求的文档放到最前列呢? 本质是一个排序问题,排序的依据是相关性算分。
相关性算分的几个重要概念如下:
- Term Frequency(TF)词频,即单词在该文档中出现的次数。词频越高,相关度越高。
- Document Frequency(DF)文档频率,即单词出现的文档次数。
- Inverse Document Frequency (IDF)逆向文档频率,与文档频率相反,简单理解为 1/DF。即单词出现的文档数越少,相关度越高。
- Field-length Norm 文档越短,相关性越高。 -
算分模型
ES目前主要有两个相关性算分模型,如下:
- TF/IDF模型
- BM25模型,5.X后的默认模型
TF/IDF模型是Lucene的经典模型,其计算公式如下:
可以通过explain参数来查看具体的计算方法,但要注意:
- es的算分是按照 shard 进行的,即 shard 的分数计算是相互独立的,所以在使用explain 的时候注意分片数
- 可以通过设置索引的分片数为1来避免这个问题
BM25模型中BM值Best Match ,25指迭代25次才计算方法,是针对TF/IDF的一个优化,其计算公式如下:
Elasticsearch之相关性算分
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 简介 在Elasticsearch中,相关性算分描述了一个文档和查询语句的匹配程度。Elasticsearch会对...
- 相关性和相关性算分 相关性:Relevance搜索的相关性算分,描述了一个文档和查询语句匹配的程度。ES会对每个匹...
- 相关性和相关性算分 搜索的相关性算分,描述了一个文档和查询语句匹配的程度。 ES会对每个匹配查询条件的结果进行算分...
- 相关性和相关性算分 相关性 -relevance搜索的相关性算分,描述了一个文档和查询语句匹配的程序。es会对每个...
- 记录一下,elasticsearch/lucene关于文档与query之间相关性的计算方式,目录如下, Lucen...