如何使用 java api 分析 elasticsearch 中的文本?
how to analyze text in elasticsearch using java api?
我使用 Elasticsearch 1.7.4 及其 Java API。目前,我想按用户统计前 10 个高频搜索词。所以我必须记录用户键入要搜索的查询文本的单词,并且在记录单词之前我必须分析查询文本。我找到 restful 方法来分析文本,如 link 所说,但我在 TransportClient 中找不到 api。
有谁知道如何使用 Java api 或其他方式而不是请求 restful api 来分析 elasticsearch 中的文本?
使用文档中的示例(其中文本 "this is a test" 正在使用 standard
分析器进行分析),这是一个如何使用 [=17 完成相同分析的示例=] API:
TransportClient client = new TransportClient();
AnalyzeRequest request = (new AnalyzeRequest("this is a test")).analyzer("standard");
List<AnalyzeResponse.AnalyzeToken> tokens = client.admin().indices().analyze(request).actionGet().getTokens();
for (AnalyzeResponse.AnalyzeToken token : tokens)
{
// do something with each token...
}
希望对您有所帮助!
我使用 Elasticsearch 1.7.4 及其 Java API。目前,我想按用户统计前 10 个高频搜索词。所以我必须记录用户键入要搜索的查询文本的单词,并且在记录单词之前我必须分析查询文本。我找到 restful 方法来分析文本,如 link 所说,但我在 TransportClient 中找不到 api。
有谁知道如何使用 Java api 或其他方式而不是请求 restful api 来分析 elasticsearch 中的文本?
使用文档中的示例(其中文本 "this is a test" 正在使用 standard
分析器进行分析),这是一个如何使用 [=17 完成相同分析的示例=] API:
TransportClient client = new TransportClient();
AnalyzeRequest request = (new AnalyzeRequest("this is a test")).analyzer("standard");
List<AnalyzeResponse.AnalyzeToken> tokens = client.admin().indices().analyze(request).actionGet().getTokens();
for (AnalyzeResponse.AnalyzeToken token : tokens)
{
// do something with each token...
}
希望对您有所帮助!