Невозможно найти client.indices().putMapping(putMappingRequest) в asticsearch 6.2.1

Я пытался вставить сопоставление в RestHighLevelClient эластичного поиска 6.2.1

По следующей ссылке я нашел следующий код для вставки сопоставления

https://www.elastic.co/guide/en/elasticsearch/client/java-rest/master/java-rest-high-put-mapping.html

    RestHighLevelClient client =  new RestHighLevelClient(RestClient.builder(new HttpHost(ipaddress, port, "http")));
    client.indices().putMapping(putMappingRequest);

Но мне не удалось найти putMapping(putMappingRequest) в client.indices()

это зависимость Maven, которую я добавил в проект

    <groupId>org.elasticsearch.client</groupId>
    <artifactId>elasticsearch-rest-high-level-client</artifactId>
    <version>6.2.1</version>

Может ли кто-нибудь помочь мне найти правильный файл JAR, который соответствует моему требованию или любой другой способ вставить отображение с помощью RestHighLevelClient

Любая помощь очень ценится.

1 ответ

Решение

Ваша ссылка указывает на документацию неизданной версии. Для 6.2.1 вам нужно использовать CreateIndexRequest, как это:

CreateIndexRequest request = new CreateIndexRequest("twitter"); 
request.mapping("tweet", 
    "  {\n" +
    "    \"tweet\": {\n" +
    "      \"properties\": {\n" +
    "        \"message\": {\n" +
    "          \"type\": \"text\"\n" +
    "        }\n" +
    "      }\n" +
    "    }\n" +
    "  }", 
    XContentType.JSON);
CreateIndexResponse createIndexResponse = client.indices().create(request);
Другие вопросы по тегам