この記事の 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);
}
}