在Lucene的实用评分函数中,有一个查询协调器可以处理无法匹配所有查询字词的文档。 Okapi BM25使用相同的技巧吗?
我对它感到好奇的原因是我正在使用带有BM25相似性模块的Elasticsearch,有时我觉得这个算法不支持更多匹配的文档。有些情况下,文档中包含一个或两个术语,超出了包含所有查询术语的文档。
答案 0 :(得分:3)
是和否。
不,它不使用旧的Lucene默认相似性所描述的坐标因子(注意:Lucene核心现在默认使用BM25)。
是的,对于更多的查询术语而言,它确实比同一术语中的一堆命中更重要。它通过更好的术语饱和来实现这一点,使旧的coord因子有效地过时。
然而,使用任何一种算法,在较少的条件下,许多命中总是有可能在更多的术语上超过几次命中。