原文:http://blog.java1234.com/blog/articles/373.htmlhtml
elasticsearch安装中文分词器插件smartcnjava
elasticsearch默认分词器比较坑,中文的话,直接分词成单个汉字。git
咱们这里来介绍下smartcn插件,这个是官方推荐的,中科院搞的,基本能知足需求;github
还有另一个IK分词器。假如须要自定义词库的话,那就去搞下IK,主页地址:https://github.com/medcl/elasticsearch-analysis-ik编程
smartcn安装比较方便,elasticsearch
直接用 elasticsearch的bin目录下的plugin命令;测试
先进入elasticsearch的bin目录url
而后执行 sh elasticsearch-plugin install analysis-smartcn.net
-> Downloading analysis-smartcn from elastic插件
[=================================================] 100%
-> Installed analysis-smartcn
下载 自动安装;
(注意,假如集群是3个节点,全部节点都须要安装;不过通常都是先一个节点安装好全部的东西,而后克隆几个节点,这样方便)
安装后 plugins目录会多一个smartcn文件包;
安装后,咱们须要重启es;
而后咱们来测试下;
POST http://192.168.1.111:9200/_analyze/
{"analyzer":"standard","text":"我是中国人"}
执行标准分词器;
结果:
中文都是单个字了;
很不符合需求;
咱们用下 smartcn;
{"analyzer":"smartcn","text":"我是中国人"}
执行结果:
咱们发现 中国 编程个单个词汇;