ElasticSearch安装使用IK分词器

下载

安装ik分词器

IK分词器下载地址https://github.com/medcl/elasticsearch-analysis-ik/releases

注意!!!下载IK分词器之前需要先查阅你的分词器和你当前的ElasticSearch版本是否匹配,如果不匹配的话,会出现不兼容的情况.导致ElasticSearch启动不起来.

在安装很多软件之前都得考虑版本兼容问题…这是非常容易犯的错误.

安装

将ik分词器上传到服务器上,然后解压,并改名字为ik

[root@zjj101 ~]# mkdir ik

将下载好的ik分词器zip包上传到ik目录下

[root@zjj101 ik]# unzip elasticsearch-analysis-ik-5.6.8.zip

解压后看看目录,是下面这样的目录才是正确的.

[root@zjj101 ik]# ls
commons-codec-1.9.jar                httpclient-4.5.2.jar
commons-logging-1.2.jar              httpcore-4.4.4.jar
config                               plugin-descriptor.properties
elasticsearch-analysis-ik-5.6.8.jar

将ik这个目录下的所有文件拷贝到Docker容器的plugins目录下

发现是zjjElasticSearch名字

[root@zjj101 ik]# docker ps -a
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS                     PORTS                                            NAMES
3ef6fdea7877        elasticsearch:5.6.8   "/docker-entrypoint.…"   21 hours ago        Up 20 hours                0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp   zjjElasticSearch

开始将Ik目录整个拷贝到zjjElasticSearch

docker cp ../ik zjjElasticSearch:/usr/share/elasticsearch/plugins

查看是否拷贝到指定位置,发现已经拷贝到/usr/share/elasticsearch/plugins目录下了.

# 进入docker ElasticSearch容器
[root@zjj101 ~]# docker exec -it zjjElasticSearch /bin/bash
root@3ef6fdea7877:/usr/share/elasticsearch# ls
NOTICE.txt  README.textile  bin  config  data  lib  logs  modules  plugins
root@3ef6fdea7877:/usr/share/elasticsearch# cd plugins/
root@3ef6fdea7877:/usr/share/elasticsearch/plugins# ls
ik
# 退出docker
root@3ef6fdea7877:/usr/share/elasticsearch/plugins# exit
exit
# 重启ElasticSearch
[root@zjj101 ~]# docker restart zjjElasticSearch
zjjElasticSearch
[root@zjj101 ~]#

测试一下

浏览器访问:

http://zjj101:9200/_analyze?analyzer=ik_smart&pretty=true&text=我是程序员

浏览器返回结果

{
  "tokens" : [
    {
      "token" : "我",
      "start_offset" : 0,
      "end_offset" : 1,
      "type" : "CN_CHAR",
      "position" : 0
    },
    {
      "token" : "是",
      "start_offset" : 1,
      "end_offset" : 2,
      "type" : "CN_CHAR",
      "position" : 1
    },
    {
      "token" : "程序员",
      "start_offset" : 2,
      "end_offset" : 5,
      "type" : "CN_WORD",
      "position" : 2
    }
  ]
}
上一篇:如何添加自定义中文分词的规则


下一篇:Unity场景导出GLTF格式的文件方法