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

版权声明:本文为博主原创文章,未经博主允许禁止转载(http://blog.csdn.net/napoay) https://blog.csdn.net/napoay/article/details/80171338

需求

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"); 分词结果如下:

中华人民共和国
国歌

猜你喜欢

转载自blog.csdn.net/napoay/article/details/80171338