Elasticsearch Java API|十三--Java API获取分词结果

Elasticsearch Java API|十三--Java API获取分词结果

需求

Java API获取Elasticsearch的分词结果.

版本

Elasticsearch 5.4
已安装ik分词器

测试

先创建一个索引:

curl -XPUT localhost:9200/bbb

返回结果:

{    "acknowledged":true,    "shards_acknowledged":true }

好了,现在es里面有一个bbb的索引了。

Java代码:

标准分词

public static void main(String[] args) {        TransportClient client = EsUtils.getSingleClient();        AnalyzeRequest analyzeRequest = new AnalyzeRequest("bbb")                .text("中华人民共和国国歌")                .analyzer("standard");        List<AnalyzeResponse.AnalyzeToken> tokens = client.admin().indices()                .analyze(analyzeRequest)                .actionGet()                .getTokens();        for (AnalyzeResponse.AnalyzeToken token : tokens) {            System.out.println(token.getTerm());        }    }

结果:

中华人民共和国国歌

ik_max_word分词

.analyzer("standard");改成 .analyzer("ik_max_word"); 分词结果如下:

中华人民共和国中华人民中华华人人民共和国人民共和国共和国国歌

ik_smart分词

.analyzer("standard");改成 .analyzer("ik_smart"); 分词结果如下:

中华人民共和国国歌

推荐阅读