我在 elasticsearch 中有一个已经创建的索引,我想使用 RestHighLevelClient 来初始化索引但不创建新索引。
我如何实现相同的目标并且不打算使用传输客户端。
有人请用java解释如何初始化和查询现有索引。
我在 elasticsearch 中有一个已经创建的索引,我想使用 RestHighLevelClient 来初始化索引但不创建新索引。
我如何实现相同的目标并且不打算使用传输客户端。
有人请用java解释如何初始化和查询现有索引。
首先你需要初始化一个 RestHighLevelClient:
RestHighLevelClient client = new RestHighLevelClient(
RestClient.builder(
new HttpHost("localhost", 9200, "http"),
new HttpHost("localhost", 9201, "http")));
然后你需要使用 IndexRequest 来索引一个文档:
IndexRequest request = new IndexRequest(
"posts",
"doc",
"1");
String jsonString = "{" +
"\"user\":\"kimchy\"," +
"\"postDate\":\"2013-01-30\"," +
"\"message\":\"trying out Elasticsearch\"" +
"}";
request.source(jsonString, XContentType.JSON);
IndexResponse indexResponse = client.index(request, RequestOptions.DEFAULT);
在这里,我们在索引“posts”中索引了一个“doc”类型的文档,其中“id”等于 1。