elasticsearch,Java,Rest,Spring Boot,elasticsearch" /> elasticsearch,Java,Rest,Spring Boot,elasticsearch" />

如何在Java Spring Boot中使用RestHighLevelClient将文档插入ElasticSearch

如何在Java Spring Boot中使用RestHighLevelClient将文档插入ElasticSearch,java,rest,spring-boot,elasticsearch,Java,Rest,Spring Boot,elasticsearch,我正在开发一个Spring引导程序,它使用RestHighLevelClient将文档插入ElasticSearch。现在我已经为客户端构建了配置,但是,我不确定如何插入/索引。关于ElasticSearch的文档对我来说似乎很混乱 以下是我迄今为止尝试过的一段代码: @KafkaListener(topics = "${kafka.topic}",groupId = "test") public void receive(String message) { LOGGER.info(m

我正在开发一个Spring引导程序,它使用RestHighLevelClient将文档插入ElasticSearch。现在我已经为客户端构建了配置,但是,我不确定如何插入/索引。关于ElasticSearch的文档对我来说似乎很混乱

以下是我迄今为止尝试过的一段代码:

@KafkaListener(topics = "${kafka.topic}",groupId = "test")
public void receive(String message) {

    LOGGER.info(message);
    insertData(message);
    latch.countDown();
}

private void insertData(String message){
    IndexRequest request = new IndexRequest(
            "fx-rate",
            "_doc",
            "1");
    request.source(message, XContentType.JSON);
}

RestHighLevelClient实例需要按照以下方式构建REST低级客户端生成器

   RestHighLevelClient client = new RestHighLevelClient(
        RestClient.builder(
                new HttpHost("localhost", 9200, "http"),
                new HttpHost("localhost", 9201, "http")));
创建索引(如果不存在)

CreateIndexRequest请求=新的CreateIndexRequest(“twitter”)

更新文档:

XContentBuilder builder = XContentFactory.jsonBuilder();
builder.startObject();
{
    builder.field("updated", new Date());
    builder.field("reason", "daily update");
}
builder.endObject();
UpdateRequest request = new UpdateRequest("posts", "doc", "1")
        .doc(builder);
使用客户端发送请求。

附言