我们如何在 Java 中为 ElasticSearch 7.4.2 Java 高级 REST 客户端创建 IndexRequest?

How do we create an IndexRequest in Java for ElasticSearch 7.4.2 Java High Level REST Client?

我正在尝试将数据插入 bonsai.io 云上托管的 ElasticSearch(版本 7.4.2)。当我尝试在 Java(Java 高级 REST 客户端)中的客户端代码中创建 IndexRequest 和 IndexResponse 时,没有可用于 IndexRequest 和 IndexResponse 的导入。

我的 pom.xml 具有以下依赖项:

  <dependencies>
     <dependency>
        <groupId>org.elasticsearch.client</groupId>
        <artifactId>elasticsearch-rest-high-level-client</artifactId>
        <version>7.4.2</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-simple -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>1.7.25</version>
    </dependency>

  </dependencies>

我什至尝试将以下依赖项添加到我的 pom.xml

<dependency>
        <groupId>org.elasticsearch</groupId>
        <artifactId>elasticsearch</artifactId>
        <version>7.4.2</version>
  </dependency>

有人可以帮我解决 7.4.2 版本中的这个问题吗?

请检查 this GitHub repo,它使用 ES 7.3 和 java 高级 rest 客户端。您可以在 pom.xml 中更改 ES 客户端版本并准备就绪,因为这些只是次要版本更改,IndexRequestindexResponse API 中实际上没有任何更改。

请参阅 com.indore.GalaxyApp#createIndex 方法的 this,其中创建了 IndexRequest。

您可以更改您的 elasticsearch 详细信息 config.yml 并阅读有关如何启动该应用程序的自述文件部分。

如果您需要更多信息,请告诉我。

发生错误,因为 Maven 构建无法读取以下 2 个 jar 文件的 jar 清单。

1) .m2/repository/org/elasticsearch/elasticsearch/7.4.2/elasticsearch-7.4.2.jar 2) .m2/repository/org/elasticsearch/client/elasticsearch-rest-high-level-client/7.4.2/elasticsearch-rest-high-level-client-7.4.2.jar

通过在本地删除.m2 目录解决了错误。 运行 pom.xml 在此之后作为 maven 构建修复了错误并且正确安装了上述 2 个 jar。