我正在使用Elastic的Java库6.2.4,并且正在尝试分析文本。我在docs中找不到任何提及方法,也没有在docs的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);
}
但是我找不到如何使用它。 This的答案建议使用已弃用的TransportClient
,因此我无法使用它,也找不到其他示例。
当我尝试研究RestHighLevelClient
提供的内容时,我只发现了用于搜索,索引编制等的方法。
非常感谢您的帮助。
答案 0 :(得分:0)
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);
或者您可以使用“低级客户端”并发出自定义的休息请求: 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