首页 > 解决方案 > Java - 解析 Json 字符串并保存在 ElasticSearch 中

问题描述

我对 ElasticSearch 还很陌生。

我已将数据解析并存储在 JSON 格式的 Java 字符串中。我需要设置与 AWS ElasticSearch 的连接,并使用 Java-API将 String中的内容存储到ElasticSearch 中。

按照这个这个帖子。

但是,我对执行此操作的最佳方法以及使用哪种 Java-ElasticSearch-API以及如何使用它感到困惑。

此外,要建立客户端连接并执行与 ElasticSearch 之间的存储/检索数据,应将哪些库导入maven?

任何的意见都将会有帮助。

标签: javajsonamazon-web-serviceselasticsearch

解决方案


我在spring boot中使用spring-data-elasticsearch,这样你只需要在maven中添加以下依赖项:

<properties>
  <spring.boot.es.version>2.0.2.RELEASE</spring.boot.es.version>
  <elasticsearch.version>6.2.2</elasticsearch.version>
</properties>
<parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>2.0.2.RELEASE</version>
  <relativePath/>
  <!-- lookup parent from repository -->
</parent>

<dependencies>
  <!--elasticsearch-->
  <dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-elasticsearch</artifactId>
    <version>3.1.0.M3</version>
    <exclusions>
      <!-- here exclude default elasticsearch version because it's too old-->
      <exclusion>
        <groupId>org.elasticsearch</groupId>
        <artifactId>elasticsearch</artifactId>
      </exclusion>
      <exclusion>
        <groupId>org.elasticsearch.client</groupId>
        <artifactId>transport</artifactId>
      </exclusion>
      <exclusion>
        <groupId>org.elasticsearch.plugin</groupId>
        <artifactId>transport-netty4-client</artifactId>
      </exclusion>
    </exclusions>
  </dependency>
  <dependency>
    <groupId>org.elasticsearch.plugin</groupId>
    <artifactId>transport-netty4-client</artifactId>
    <version>${elasticsearch.version}</version>
  </dependency>
  <dependency>
    <groupId>org.elasticsearch</groupId>
    <artifactId>elasticsearch</artifactId>
    <version>${elasticsearch.version}</version>
  </dependency>
  <dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>transport</artifactId>
    <version>6.2.2</version>
  </dependency>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
    <exclusions>
      <exclusion>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-elasticsearch</artifactId>
      </exclusion>
    </exclusions>
  </dependency>

  <dependency>
    <groupId>commons-collections</groupId>
    <artifactId>commons-collections</artifactId>
    <version>3.2.2</version>
  </dependency>
</dependencies>

推荐阅读