我使用Elasticsearch 1.7.4及其Java API。目前,我想按用户计数前10个高频搜索词。因此,我必须记录要搜索的用户类型的查询文本的单词,并且在记录单词之前必须分析查询文本。如链接所示,我找到了分析文本的宁静方法,但是在TransportClient中找不到api。
有谁知道如何使用Java api或其他方式而不是请求静态API来分析Elasticsearch中的文本?
使用文档中的示例(正在使用standard分析器分析文本“这是测试” ),下面是一个示例,说明如何使用Java API完成相同的分析:
standard
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... }
希望这可以帮助!