BM25 是否使用查询协调器?

Does BM25 use query coordinator?

在Lucene的实用评分功能中有一个查询协调器,用于惩罚未能匹配所有查询词的文档。霍加狓BM25有没有用同样的把戏?

我对此感到好奇的原因是我正在使用带有 BM25 相似度模块的 Elasticsearch,有时我觉得这个算法不喜欢具有更多匹配项的文档。在某些情况下,文档包含一个或两个词很多,超过包含所有查询词的文档。

是也不是。

不,它不使用旧 Lucene 默认相似性所描述的坐标因子(注意:Lucene 核心现在也默认使用 BM25)。

是的,它确实对更多查询词的命中比对同一词的一堆命中更重要。它通过更好的项饱和度来做到这一点,使旧的坐标因子有效地过时。

但是,无论使用哪种算法,使用较少术语的许多命中总是可能胜过对更多术语的少数命中。