ElasticSearchとSpringBootの巨大な穴


ElasticSearchとSpringBootの巨大な穴
elasticsearchを勉強したばかりで、ある人のチュートリアルを見て、バージョンが衝突しないようにして、以下の処理をしました.
		  <properties>
		      <java.version>1.8java.version>
		      <elasticsearch>7.6.1elasticsearch>
		  properties>

		   <dependency>
		       <groupId>org.springframework.bootgroupId>
		       <artifactId>spring-boot-starter-data-elasticsearchartifactId>
		   dependency>

インデックスリクエストの作成時にエラーが発生しました:
Exception in thread "I/O dispatcher 1" java.lang.AssertionError

最初はesのメモリ設定が小さすぎると思っていたが、拡大しても間違っていたが、作成に成功し、無視した.
ドキュメントを作成するときも同じようにエラーが発生します.コードは次のとおりです.
    void testAddDocument() throws IOException {
        //    
        User user = new User("wefwef",22,new Date());
        //    
        IndexRequest request = new IndexRequest("chunuo");

        //id
        request.id("12");
        request.timeout(TimeValue.timeValueSeconds(1));
        //      
        request.timeout("1s");
        //  json   
        request.source(JSON.toJSONString(user), XContentType.JSON);

        //       ,    
        IndexResponse index = restHighLevelClient.index(request, RequestOptions.DEFAULT);

        System.out.println(index.toString());
        System.out.println(index.status()); //            CREATED,      update

    }

エラーメッセージ:
Exception in thread "I/O dispatcher 1" java.lang.AssertionError
 
Validation Failed: 1: type is missing;

調べてみると、Validation Failed:1:type is missing;エラーは次の2つのjarパッケージを追加する必要があります
            <dependency>
                <groupId>org.elasticsearchgroupId>
                <artifactId>elasticsearchartifactId>
                <version>${elasticsearch}version>
            dependency>

            <dependency>
                <groupId>org.elasticsearch.clientgroupId>
                <artifactId>elasticsearch-rest-clientartifactId>
                <version>${elasticsearch}version>
            dependency>

これは公式に提出されたものです.
このときIndexRequestコンストラクション関数を見て、typeが必要です.typeはすぐに廃棄されることを知っていると思いますが、IndexRequest request=new IndexRequest(「chunuo」、「type」)をテストしました.
結果は意外にも使いやすくて、以下の間違いを報告しましたが、少なくとも追加することができます.
Exception in thread "I/O dispatcher 1" java.lang.AssertionError

そしてspringbootとelasticsearchの互換性の問題を理解し始め、バージョンをロックすると、IndexRequest request=new IndexRequest("chunuo");方法もtypeパラメータを必要とせず、以下のように操作します.
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.elasticsearch.clientgroupId>
                <artifactId>elasticsearch-rest-high-level-clientartifactId>
                <version>${elasticsearch}version>
            dependency>

            <dependency>
                <groupId>org.elasticsearchgroupId>
                <artifactId>elasticsearchartifactId>
                <version>${elasticsearch}version>
            dependency>

            <dependency>
                <groupId>org.elasticsearch.clientgroupId>
                <artifactId>elasticsearch-rest-clientartifactId>
                <version>${elasticsearch}version>
            dependency>
        dependencies>
    dependencyManagement>

今夜は本当に深い穴に入って、一晩中、同じ問題がもっと多くのパートナーを助けることができることを望んで、今日出会った間違いは、私は検索エンジンから解決策を見つけることができませんでした.