这是一个非常经典且核心的 Elasticsearch(以及 Lucene)面试题。 简单来说,相关性评分(Relevance Score) 决定了搜索结果的排名(Ranking)。当你执行一个全文搜索时,Elasticsearch 不仅会告诉你哪些文档匹配,还会计算每个文档与查询语句的匹配程度,并用一个浮点数 来表示。 以下是关于相关性评分、TF-IDF 和 BM25 的详细解释: --- 1. 什么是相关性评分(Relevance Score)? 定义:它是 Elasticsearch 在搜索结果中为每个文档计算的一个正浮点数,字段名为 。 作用:衡量一个文档与查询条件的匹配程度。 规则: 越高,相关性越强,文档在结果列表中排得越靠前(默认情况下,ES 按 降序排列)。 计算来源:底层的 Lucene 引擎根据配置的相似度算法(Similarity Algorithm)计算得出。 --- 2. TF-IDF(Term Frequency - Inverse Document Frequency) TF-IDF 是 Elasticsearch 5.0 之前版本的默认算法,也是信息...