Docker:Elasticsearch安装配置IK分词器

一、背景:

  搞了elasticsearch和kibana的安装和配置,在进行分词的时候没有达到自己预想的效果,于是写一下elasticsearch的ik分词器的安装和配置(自定义分词)。

二、解决方式:

1:首先看看没有加ik分词器的效果。

POST _analyze
{
  "analyzer": "standard",
  "text": "我是中国人"
}

Docker:Elasticsearch安装配置IK分词器_第1张图片

2:下载ik软件包。

https://github.com/medcl/elasticsearch-analysis-ik

Docker:Elasticsearch安装配置IK分词器_第2张图片

 3:选择自己响应版本。

Docker:Elasticsearch安装配置IK分词器_第3张图片

 4:将下载好的文件上传到我们elasticsearch文件夹的plugins下。

Docker:Elasticsearch安装配置IK分词器_第4张图片

5: 重启elasticsearch ,测试。

docker restart es的名称或者ip


POST _analyze
{
  "analyzer": "ik_smart",
  "text": "我是炎黄子孙"
}

POST _analyze
{
  "analyzer": "ik_max_word",
  "text": "我是中国人"
}

Docker:Elasticsearch安装配置IK分词器_第5张图片

6:上面已经安装好了ik分词器,但也不是我们想要的结果,"炎黄子孙"怎么能拆分成二个"炎黄"

"子孙",我们要自定义词库,创建nginx等文件夹。

mkdir nginx

下载nginx 镜像

docker run -p 80:80 --name nginx -d nginx:1.10

Docker:Elasticsearch安装配置IK分词器_第6张图片

Docker:Elasticsearch安装配置IK分词器_第7张图片

7:将容器内的配置文件拷贝到当前目录。

docker container cp nginx:/etc/nginx . 

注意:别忘了后面的点

 8:修改文件名称:

mv nginx conf

9:将conf 移动到/mydata/nginx 下

mv conf nginx/

10:终止原容器。

docker stop nginx

11:执行命令删除原容器。

docker rm $ContainerId

12:创建新的 nginx,执行下面的命令。

docker run -p 80:80 --name nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx \
-v /mydata/nginx/conf:/etc/nginx \
-d nginx:1.10

13:在nginx 下的html文件夹下创建index.html。

 Docker:Elasticsearch安装配置IK分词器_第8张图片

 14:在html文件夹下创建es文件夹。

mkdir es

15:进入es,创建fenci.txt文件

vi fenci.txt

 

 16:自定义我们的词。

Docker:Elasticsearch安装配置IK分词器_第9张图片

输入:http://192.168.56.10/es/fenci.txt

 

17: 修改/usr/share/elasticsearch/plugins/ik/config/中的 IKAnalyzer.cfg.xml




IK Analyzer 扩展配置





http://192.168.56.10/es/fenci.txt


18:重启es。

19:验证效果。

 Docker:Elasticsearch安装配置IK分词器_第10张图片

 

三、总结:

送人玫瑰 手有余香

 

你可能感兴趣的:(docker,Elasticsearch实战,elasticsearch,docker,大数据)