下载
安装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
}
]
}