0%

Elasticsearch中文分词器

在线安装

# v6.3.0版本改成es对应的版本
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.5.2/elasticsearch-analysis-ik-7.5.2.zip

离线安装

cd your-es-root/plugins/ && mkdir ik
# 解压到目录
your-es-root/plugins/ik
# docker安装的可以本地解压后拷贝到容器
docker cp ik/ es:/usr/share/elasticsearch/plugins/

所有ES节点都需要安装!

验证

Kibana打开Dev Tools:

  • 测试分词

    // ik_max_word: 会将文本做最细粒度的拆分
    GET _analyze
    {
    "text": "中国早日收复台湾","tokenizer": "ik_max_word"
    }
    // ik_smart: 会做最粗粒度的拆分
    GET _analyze
    {
    "text": "中国早日收复台湾","tokenizer": "ik_smart"
    }
  • 读写数据

    // 新建index
    PUT /index
    // 新建type,如果ik分词器没有安装成功会报错
    POST index/_mapping
    {
    "properties": {
        "content": {
            "type": "text",
            "analyzer": "ik_max_word",
            "search_analyzer": "ik_smart"
        }
    }
    }
    // 写入数据1
    POST index/_create/1
    {
    "content":"美国留给伊拉克的是个烂摊子吗"
    }
    // 写入数据2
    POST index/_create/2
    {
    "content":"中韩渔警冲突调查:韩警平均每天扣1艘中国渔船"
    }
    // 写入数据3
    POST index/_create/3
    {
    "content":"公安部:各地校车将享最高路权"
    }
    // 写入数据4
    POST index/_create/4
    {
    "content":"中国驻洛杉矶领事馆遭亚裔男子枪击 嫌犯已自首"
    }
    // 查询
    POST index/_search
    {
    "query": {
      "match": {
        "content": "中国"
      }
    }
    }

elasticsearch-analysis-ik