elastic search BM25计算的问题

请教一下,es使用bm25算法,有些数据字段非常稀疏,导致计算avgFieldLength值非常低,0.0031338462 = avgFieldLength,说明计算这个字段时,以所有的文档数做的计算,而不是存在这个字段的文档数做的计算,对排序有很大影响,各位大神有没有好的解决方案
似乎es做了简化计算,这个在idf中也可以看到,对于稀疏字段的分值影响非常大
已邀请:

rockybean - Elastic Certified Engineer, ElasticStack Fans,公众号:ElasticTalk,慕课网《ElasticStack 从入门到实践》讲师

赞同来自: kennywu76

我觉得这个问题要么自定义算分,要么从源头解决问题,如果字段非常稀疏,是否说明这些数据本不该放在一起?

winterFell - 90后小码农

赞同来自:

最近也遇到这个问题,很头疼

kennywu76 - wood@Ctrip

赞同来自:

我赞同@rockybean 的说法,过于稀疏的字段是因为数据模型设计方面欠考量。

要回复问题请先登录注册