ElasticSearch(ES)搜索排序、相关性、评分机制 | 您所在的位置:网站首页 › ex文档如何排序 › ElasticSearch(ES)搜索排序、相关性、评分机制 |
ElasticSearch(ES)是一款非常流行的企业级搜索引擎,今天我们一起来看看它的搜索结果排序原理。 01 — 相关性介绍
默认情况下,ES的搜索结果是排序的,是按 相关性 倒序排列的------相关性最高的排在最前面。 那么什么是相关性,相关性如何计算? 每个文档都有相关性评分,用一个正浮点数字段 _score 来表示 。_score 的评分越高,相关性越高。 查询语句会为每个文档生成一个 _score 字段。(评分的计算方式取决于查询类型 不同的查询语句用于不同的目的,这里不详细介绍。) 02 — 相关性计算原理
Elasticsearch 的相关性算法被定义为检索词频率/反向文档频率, TF/IDF ,包括以下内容: 检索词频率 检索词在该字段出现的频率?出现频率越高,相关性也越高。字段中出现过 5 次要比只出现过 1 次的相关性高。 反向文档频率 每个检索词在索引中出现的频率?频率越高,相关性越低。检索词出现在多数文档中会比出现在少数文档中的权重更低。常用词如 and 或 the 对相关度贡献很少,因为它们在多数文档中都会出现。 字段长度准则 字段的长度是多少?长度越长,相关性越低。检索词出现在一个短的 title 要比同样的词出现在一个长的 content 字段权重更大。 03 — 举例说明
假设,检索关键词 `honeymoon`,在索引上所有文档中的`tweet`字段中检索。 检索词频率: 检索词 `honeymoon` 在这个文档的 `tweet` 字段中的出现次数。出现次数越多,评分越高。 反向文档频率: 检索词 `honeymoon` 在索引上所有文档的 `tweet` 字段中出现的次数。出现次数越多,评分越低。 字段长度准则: 在这个文档中, `tweet` 字段内容的长度 -- 内容越长,评分越低。 以上内容,根据ES官网内容学习整理。https://www.elastic.co/ |
CopyRight 2018-2019 实验室设备网 版权所有 |