elasticsearch類似の実装でClassicSimilarityでscorePayload関数をオーバーライドすることはできません

Divyanshumrwh:

私はElasticsearchの類似性を実装しようとしています。私はTFとIDF値と一緒にスコアの計算のためのペイロードを使用します。私はClassicSimilarityのドキュメント(チェックするとhttps://lucene.apache.org/core/7_4_0/core/org/apache/lucene/search/similarities/ClassicSimilarity.htmlを)、過負荷状態にすることができscorePayload機能は、そこに終了します。私はClassicSimilarityクラスを拡張していたときが、それはscorePayload機能上のエラーを示しています。私も、インポートクラスを確認し、ペイロードの機能が存在しません。私はこれで間違って何をしているのですか?

package org.elasticsearch.index.similarity;

import org.apache.lucene.analysis.payloads.PayloadHelper;
import org.apache.lucene.search.similarities.ClassicSimilarity;
import org.apache.lucene.util.BytesRef;

public class CustomTFIDFScorer extends ClassicSimilarity{

    @Override
    protected float scorePayload(int doc, int start, int end, BytesRef payload) {

        if (payload != null) {
            return PayloadHelper.decodeFloat(payload.bytes, payload.offset);
            } 
        else {
            return 1.0F;
            }
      }

    @Override
      public float tf(float freq) {
        return freq;
      }

    @Override
      public float idf(long docFreq, long docCount) {
        return (float)(Math.log((docCount+1)/(double)(docFreq+1)) + 1.0);
      }

    @Override
    public float lengthNorm(int length) {
        // TODO Auto-generated method stub
        return 1;
    }
}

これは私のMavenのファイルです。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>CustomPayloadSimilarity</groupId>
  <artifactId>ElasticseachCustomSimilarity</artifactId>
  <version>0.0.1</version>

  <dependencies>  
  <!-- https://mvnrepository.com/artifact/org.elasticsearch/elasticsearch -->
<dependency>
    <groupId>org.elasticsearch</groupId>
    <artifactId>elasticsearch</artifactId>
    <version>7.4.0</version>
</dependency>
</dependencies>

</project>

ニーマル:

弾性7.4 用途のLucene 8.2あなたがしようとしているメソッドのオーバーライドが存在しません。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=34749&siteId=1