如何创建Whoosh自定义权重函数?

时间:2018-07-19 12:47:04

标签: python whoosh

我想创建一个结合两种方法对结果进行排名的函数。第一个基于位置,第二个基于BM25F。 在whoosh文档中,我发现可以将scoring.FunctionWeighting(custom_function)作为关键字参数传递给搜索者。我的自定义函数是:

def position_weight(searcher, fieldname, text, matcher):
    poses = matcher.value_as("positions")
    w1 = 1.0 / (poses[0] + 1)
    # w2 = BM25F(matcher) ? This is what I don't know how to do.
    return 0.25 * w1 + 0.75 * w2

我从文档中获得了此功能,所以我不理解该功能的参数。

0 个答案:

没有答案