0

在 Java 中,通过扩展 SimilarityBase 类并覆盖评分方法来创建自定义相似度评分函数。但是,我找不到使用 pylucene 做同样事情的方法。

我已经尝试以与在 Java 中相同的方式扩展 SimilarityBase 类。

class CustomSimilarity(SimilarityBase):
        def __init__(self):
        SimilarityBase.__init__(self)

    def score(self,stats,termfreq,doclen):
        return termfreq

    def toString(self):
        return "Term Frequency Scoring"

但是,在将 CustomSimiairity 类分配给我的索引搜索器时出现错误

lucene.JavaError: <super: <class 'JavaError'>, <JavaError object>>
    Java stacktrace:
java.lang.InstantiationException: 
4

1 回答 1

0

我找到了解决方案。我不明白为什么这是正确的。

class CustomSimilarity(SimilarityBase):
    def __init__(self):
        #self.super = SimilarityBase()
        pass

    def score(self,stats,termfreq,doclen):
        return termfreq

    def toString(self):
        return "Term Frequency Scoring"
于 2018-12-26T03:44:46.880 回答