简单解释不同的ElasticSearch相似度算法

时间:2013-10-17 09:52:26

标签: algorithm search lucene elasticsearch scoring

我正在研究不同的相似度算法,这些算法定义了在搜索过程中如何计算每个文档的得分。此处列出了可用的算法:http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/index-modules-similarity.html

我的问题是,在浏览维基百科文章或lucene API文档中的类描述时,我无法理解它们。我真的很喜欢这里解释TF / IDF相似度算法(ElasticSearch中的默认值)的答案:What is the reasoning behind the ranking of this ElasticSearch query?(所以这个我理解了一定数量)。

有人可以为其中列出的其他算法提供类似的简单解释吗?其中包括:

  • bm25相似度
  • drf相似度
  • ib similar

提前谢谢。

1 个答案:

答案 0 :(得分:2)

你遇到的问题是链接答案中提出的描述,Lucene的默认相似性,bm25基本相同,因为它们都考虑在内:

  • 首选文档中出现的次数
  • 首选
  • 语料库中较少的术语
  • 较短的文件更重要
  • 用于调整得分,提升等的其他功能

dfr实际上仅包含7种不同的基本模型,每种基本模型使用不同的评分算法,然后是两个高度可配置的标准化步骤。许多配置选项符合上面的一般步骤,有些偏离它。

类似地,ib也允许一些重要的配置,但通常会达到相同的高点,有利于更高的术语频率,有利于更罕见的术语匹配(通过某种描述),并调整文档长度,提升和其他可能的规范化。