我想在pylucene中使用payload,就像本文的java代码一样。python片段是:
class PayloadSimilarity(PythonDefaultSimilarity):
def scorePayload(self, docId, start, end, payload): # this never execute
return PayloadHelper.decodeFloat(payload.bytes, end)
但它不起作用。该方法scorePayload
永远不会被调用。word的有效载荷仍然是1,而不是我在文档中设置的值。
java中的相同代码可以正常工作:
class PayloadSimilarity extends DefaultSimilarity {
@Override
public float scorePayload(int docId, int start, int end, BytesRef payload) {
return PayloadHelper.decodeFloat(payload.bytes, end);
}
}