美文网首页
java中使用es入门

java中使用es入门

作者: f22448cd5541 | 来源:发表于2019-02-13 14:19 被阅读0次

    java中使用es

    es的java驱动包,在不同的版本中会有不同的兼容性问题,所以在使用时一定要注意依赖的版本,这里笔者采用的是官网最新的6.2.3版本。

    依赖

    <dependency>
        <groupId>org.elasticsearch.client</groupId>
        <artifactId>transport</artifactId>
        <version>6.2.3</version>
    </dependency>
    <dependency>
        <groupId>org.elasticsearch</groupId>
        <artifactId>elasticsearch</artifactId>
        <version>6.2.3</version>
    </dependency>
    

    Demo例子

    • 创建TransportClient类:

      # 这里默认配置一个es的集群名字
      Settings settings = Settings.builder()
                      .put("cluster.name", "my-application").build();
      
      TransportClient client = new PreBuiltTransportClient(settings)
              .addTransportAddress(new TransportAddress(InetAddress.getByName("127.0.0.1"), 9301))
              .addTransportAddress(new TransportAddress(InetAddress.getByName("127.0.0.1"), 9300));
      
      
    • 在索引下插入数据

      Map data = new HashMap<>();
      data.put("test", "test log");
      data.put("time", System.currentTimeMillis());
      
      IndexResponse response = client.prepareIndex("test", "log", UUID.randomUUID().toString()).setSource(data).get();
      
      System.out.println("id: "+response.getId());
      
    • 批量插入数据

      public void batchInsert(List<JSONObject> list) {
      
          if (list.size() > 0) {
              BulkRequestBuilder prepareBulk = client.prepareBulk();
              for (JSONObject jsonObject : list) {
                  prepareBulk.add(client.prepareIndex(INDEX, TYPE, UUID.randomUUID().toString()).setSource(jsonObject));
              }
              BulkResponse bulkResponse = prepareBulk.get();
              RestStatus status = bulkResponse.status();
              if (status.getStatus() == 200) {
                  logger.warn("[add] - batch add log fail, statue: {}, data: {}", status, JSON.toJSON(list).toString());
              }
          }
      }
      

    相关文章

      网友评论

          本文标题:java中使用es入门

          本文链接:https://www.haomeiwen.com/subject/okqdeqtx.html