在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"
字符串
但是,在将CustomSimilairity类分配给IndexSearcher的过程中出现错误
lucene.JavaError: <super: <class 'JavaError'>, <JavaError object>>
Java stacktrace:
java.lang.InstantiationException:
型
2条答案
按热度按时间iyfamqjs1#
我找到了一个解决办法。但我不明白为什么这是正确的。
字符串
r1zk6ea12#
解决这个问题的方法是从
PythonClassicSimilarity
继承,因为需要发生一些神奇的事情(参见here),所以代码应该是:字符串