Использование Elasticsearch Java API для анализа текста - PullRequest
0 голосов
/ 03 июля 2018

Я использую библиотеку Elastic Java 6.2.4 и пытаюсь анализировать текст. Я не смог найти упоминания о том, как это сделать, в документах , и не смог найти упоминаний об этом в версии 6.3 документов . Я пытался построить AnalyzerRequest как видно ниже

 try(RestHighLevelClient client = 
     new RestHighLevelClient(RestClient.builder(new HttpHost(elasticsearchHost, elasticsearchPort, elasticsearchScheme)))) {

     AnalyzeRequest analyzeRequest = new AnalyzeRequest()
                                   .index(elasticsearchIndex)
                                   .analyzer("my_analyzer")
                                   .text("Some Text To Analyze);
} catch (IOException e) {
    log.error("Could not connect to elasticsearch", e);
}

Но я не мог найти, как это использовать. В этом ответе предлагается использовать TransportClient, который устарел, поэтому я не могу его использовать и не могу найти другие примеры.

Когда я попытался посмотреть, что предлагает RestHighLevelClient, я нашел только методы для поиска, индексации и т. Д.

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

1 Ответ

0 голосов
/ 03 июля 2018

analyze метод находится в процессе и предназначен для версии 6.4: https://github.com/elastic/elasticsearch/pull/31577

Вы можете использовать PreBuiltTransportClient :

Settings settings = ....;
TransportClient client = new PreBuiltTransportClient(settings);
AnalyzeRequest analyzeRequest = ...;
ActionFuture<AnalyzeResponse> analyzeResponse = client.admin().indices().analyze(analyzeRequest);

Или вы можете использовать Low Level Client и сделать специальный запрос на отдых: https://www.elastic.co/guide/en/elasticsearch/client/java-rest/6.2/java-rest-low-usage-requests.html https://www.elastic.co/guide/en/elasticsearch/reference/6.2/indices-analyze.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...