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

abu*_*abu 1 analyzer elasticsearch

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

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

Bro*_*keB 9

使用文档中的示例(使用standard分析器分析文本"这是一个测试" ),下面是一个如何使用Java 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...
}
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!