java—如何在ElasticSearch索引中插入数据

xdyibdwo  于 2021-06-14  发布在  ElasticSearch
关注(0)|答案(1)|浏览(508)

我创建了一个名为-test的索引。并根据以下Map

{
 "test" : {
   "mappings" : {
      "properties" : {
          "name" : {
            "type" : "keyword"
          },
          "info" : {
             "type" : "nested"
          },
          "joining" : {
             "type" : "date"
          }
      }
   }
}

如何编写一个java代码,将数据逐个添加到上面的索引中,或者给出示例或教程的建议
提前谢谢

v9tzhpje

v9tzhpje1#

下面是可以很容易地用来索引数据的java代码:,您可以定义一个保存索引字段的javapojo,如下面的代码所示 UserRegistration 是一个pojo,包含索引道具,您可以从webservice或其他方法调用下面的方法,这些方法在应用程序中触发索引。

// ElasticSearch client
private RestHighLevelClient esclient = ...

// Jackson POJO-to-JSON mapper
private ObjectMapper objectMapper = new ObjectMapper();

public boolean register(UserRegistration userRegistration) throws IOException {

        final String userStr = objectMapper.writeValueAsString(userRegistration);
        final IndexRequest indexRequest = new IndexRequest(USERS_INDEX_NAME)
                .id(userRegistration.getUserId())
                .source(userStr, XContentType.JSON);
        IndexResponse indexResponse = esclient.index(indexRequest, RequestOptions.DEFAULT);
        return true;
    }

有关更多详细信息和代码示例,请参考JavaHLRC索引api客户端

相关问题