默认分词器
POST _analyze
{
"text": "我是中国人"
}
分成一个一个的单个字
安装ik分词器
进入 es 容器内部 plugins 目录 docker exec -it 容器 id /bin/bash wget github.com/medcl/elast…
测试IK分词
POST _analyze
{
"analyzer": "ik_smart",
"text": "我是中国人"
}
分词:我,是,中国人
POST _analyze
{
"analyzer": "ik_max_word",
"text": "我是中国人"
}
分词:我,是,中国人,中国,国人
扩展词库
扩展 一些时下流行词,或者自己自定义的一些IK没法识别的词。
使用nginx最为远程配置库,在nginx的/usr/share/nginx/html下新建fenci.txt
修改/usr/share/elasticsearch/plugins/ik/config/中的 IKAnalyzer.cfg.xml
重启es,即可。
附录
- 随便启动一个 nginx 实例,只是为了复制出配置
docker run -p 80:80 --name nginx -d nginx:1.10 - 将容器内的配置文件拷贝到当前目录:docker container cp nginx:/etc/nginx . 别忘了后面的点
- 修改文件名称:mv nginx conf 把这个 conf 移动到/mydata/nginx 下
- 终止原容器:docker stop nginx
- 执行命令删除原容器:docker rm $ContainerId
- 创建新的 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