elasticsearch安装中文分词器插件smartcn
elasticsearch默认分词器比较坑,中文的话,直接分词成单个汉字。
我们这里来介绍下smartcn插件,这个是官方推荐的,中科院搞的,基本能满足需求;
还有另外一个IK分词器。假如需要自定义词库的话,那就去搞下IK,主页地址:https://github.com/medcl/elasticsearch-analysis-ik
smartcn安装比较方便,
直接用 elasticsearch的bin目录下的plugin命令;
先进入elasticsearch的bin目录
然后执行 sh elasticsearch-plugin install analysis-smartcn
-> 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":"我是中国人"}
执行结果:
我们发现 中国 编程个单个词汇;