如何使用java api分析elasticsearch中的文本?

时间:2016-01-27 14:55:09

标签: elasticsearch analyzer

我使用Elasticsearch 1.7.4及其Java API。目前,我想按用户计算前10个高频搜索词。所以我必须记录用户类型要搜索的查询文本的单词,并且在记录单词之前我必须分析查询文本。我找到了以link说的方式分析文本的安静方式,但我在TransportClient中找不到api。

有谁知道如何使用Java api或其他方式分析elasticsearch中的文本而不是请求restful api?

1 个答案:

答案 0 :(得分:8)

使用文档中的示例(使用standard分析器分析文本“这是一个测试”),下面是一个如何使用Java API完成相同分析的示例: / p>

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...
}

希望这有帮助!