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