Elasticsearch相关性搜索与评分机制详解
在Elasticsearch和Lucene中,相关性搜索是一个核心功能,它会将更相关的结果优先返回,而这种相关性用分数(score)来衡量。下面我们将详细探讨Elasticsearch中计算分数的方法以及相关的评分机制。
1. TF-IDF评分基础
Elasticsearch在计算分数时,会考虑搜索词的频率以及该词的常见程度。具体来说,一个词在文档中出现的次数越多,该文档与搜索词的相关性就越高;但如果这个词在所有文档中出现的次数越多,它的相关性就越低。这就是TF-IDF(词频 - 逆文档频率)的基本概念。
1.1 词频(Term Frequency,TF)
词频是指一个词在文档中出现的次数。例如,在搜索关于Elasticsearch的聚会时,我们希望更多提及Elasticsearch的群组优先显示。假设有两个句子:
- 句子1:“We will discuss Elasticsearch at the next Big Data group.”
- 句子2:“Tuesday the team will gather to answer questions about Elasticsearch, Elasticsearch.”
句子1中“Elasticsearch”出现了1次,其词频(TF)为1;句子2中“Elasticsearch”出现了2次,词频为2。因此,包含句子2的文档得分应该高于包含句子1的文档。
1.2 逆文档频率(Inverse Document Frequency,IDF)
逆文档频率相对复杂一些,它表示一
超级会员免费看
订阅专栏 解锁全文
1009

被折叠的 条评论
为什么被折叠?



