如何在Java Spring Boot中使用RestHighLevelClient将文档插入ElasticSearch
我正在开发一个Spring引导程序,它使用RestHighLevelClient将文档插入ElasticSearch。现在我已经为客户端构建了配置,但是,我不确定如何插入/索引。关于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
@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);
使用客户端发送请求。
附言