0

我在 elasticsearch 中有一个已经创建的索引,我想使用 RestHighLevelClient 来初始化索引但不创建新索引。

我如何实现相同的目标并且不打算使用传输客户端。

有人请用java解释如何初始化和查询现有索引。

4

1 回答 1

1

首先你需要初始化一个 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。

于 2018-06-21T08:16:56.363 回答