分词器作用是分词,即从一串文本中切分出一个个的单词(词条),并对每个词条进行标准化处理(大小写、单复数、同义词等转换)。分词器包括3部分:
1、character filter:分词之前的预处理,过滤掉html标签,特殊符号转换等。
2、tokenizer:分词,
3、token filter:标准化
ElasticSearch内置分词器:
1、standard分词器:(默认分词器)它会将词汇单元转换成小写形式,并除去停用词(a、an、the等)和标点符号,支持中文采用的方法为单字切分。
2、simple分词器:首先会通过非字母字符来分割文本信息,然后将词汇单元统一成小写形式,该分词器会去掉数据类型的字符。
3、Whitespace分词器:仅仅是去掉空格,对字符没有lowcase化,不支持中文;并且不对生成的词汇单元进行其他的标准化处理。
4、language分词器:特定语言的分词器,不支持中文
安装中文分词器:
1、下载中文分词器
我的elasticsearch版本是6.2.4,下载对应版本的中文分词器,地址https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v6.2.4
2、将elasticsearch-analysis-ik-6.2.4.zip复制到elasticsearch安装目录下并解压
mkdir /usr/local/elasticsearch-6.2.4/plugins/ik
cp /usr/local/src/elasticsearch-analysis-ik-6.2.4.zip /usr/local/elasticsearch-6.2.4/plugins/ik/
unzip /usr/local/elasticsearch-6.2.4/plugins/ik/elasticsearch-analysis-ik-6.2.4.zip
mv /usr/local/elasticsearch-6.2.4/plugins/ik/elasticsearch/* /usr/local/elasticsearch-6.2.4/plugins/ik
rm -rf /usr/local/elasticsearch-6.2.4/plugins/ik/elasticsearch
rm -rf /usr/local/elasticsearch-6.2.4/plugins/ik/elasticsearch-analysis-ik-6.2.4.zip
最后ik下面的文件如下:
中文分词器安装完成,启动elasticsearch查看是否安装成功,切换到esuser用户
/usr/local/elasticsearch-6.2.4/bin/elasticsearch 如果出现下图标记部分,说明中文分词插件加载成功