一尘不染

如何使用Java API在Elasticsearch中分析文本?

elasticsearch

我使用Elasticsearch 1.7.4及其Java
API。目前,我想按用户计数前10个高频搜索词。因此,我必须记录要搜索的用户类型的查询文本的单词,并且在记录单词之前必须分析查询文本。如链接所示,我找到了分析文本的宁静方法,但是在TransportClient中找不到api。

有谁知道如何使用Java api或其他方式而不是请求静态API来分析Elasticsearch中的文本?


阅读 340

收藏
2020-06-22

共1个答案

一尘不染

使用文档中的示例(正在使用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...
}

希望这可以帮助!

2020-06-22