elasticsearch ik解析器

ik解析器

 

1.      ik解析器

The IK Analysis plugin integrates Lucene IK analyzer (http://code.google.com/p/ik-analyzer/) into elasticsearch, support customized dictionary.

Analyzer: ik_smart , ik_max_word , Tokenizer: ik_smart , ik_max_word

 

说明文档:https://github.com/medcl/elasticsearch-analysis-ik

 

1.1.    下载及安装配置

 

发布页https://github.com/medcl/elasticsearch-analysis-ik/releases

找到对应版本,这里是7.3.1,下载;

cd your-es-root/plugins/ && mkdir ik # 创建目录ik

unzip plugin to folder your-es-root/plugins/ik # 解压到ik

安装

解压到ik目录下即可

 

测试

rv = es.cat.plugins(v=True)

pr(rv)

name component   version

**   analysis-ik 7.3.1

 

2.      测试分词效果

代码

# 分词

def test1():

    #测试ik分词效果

    d3 = {

    "text":"世界是可以被认识的,认识是一个辩证发展的过程。"

    ,"analyzer":"standard"

    }

    # 分词器

    ana = ["standard", "ik_smart", "ik_max_word"]

    for _ in ana:

        d3["analyzer"] = _

        rv = es.indices.analyze(body=d3, format="text")

        print(_+" 分词结果:", [x["token"] for x in rv["tokens"]]) # d1 分词结果

 test1()

结果:

standard 分词结果: ['世', '界', '是', '可', '以', '被', '认', '识', '的', '认', '识', '是', '一', '个', '辩', '证', '发', '展', '的', '过', '程']

ik_smart 分词结果: ['世界', '是', '可以', '被', '认识', '的', '认识', '是', '一个', '辩证', '发展', '的', '过程']

ik_max_word 分词结果: ['世界', '是', '可以', '被', '认识', '的', '认识', '是', '一个', '一', '个', '辩证', '发展', '的', '过程']

 

posted @ 2019-09-21 13:41  木林森__𣛧  阅读(407)  评论(0编辑  收藏  举报