ElasticSearch 之中文分词器

4,中文分词器

4.1.  smartCN(这个是参照别人的安装方法安装的有兴趣可以试一下)

一个简单的中文或中英文混合文本的分词器

这个插件提供 smartcn analyzer 和 smartcn_tokenizer tokenizer,而且不需要配置

# 安装
bin/elasticsearch-plugin install analysis-smartcn
# 卸载
bin/elasticsearch-plugin remove analysis-smartcn

ElasticSearch 之中文分词器_第1张图片

测试一下

ElasticSearch 之中文分词器_第2张图片

可以看到,“今天天气真好”用smartcn分析器的结果是:

[ 今天 , 天气 , 真 , 好 ]

如果用standard分析器的话,结果会是:

[ 今 ,天 ,气 , 真 , 好 ]

4.2 我们一般都会用     IK分词器(我们就具体搭建一下ik中文分词器)

下载对应的版本,这里我下载6.8.6:https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v6.8.6 

ElasticSearch 之中文分词器_第3张图片

linux下使用wget命令(进入es插件目录)

cd /usr/local/java/elasticsearch-6.8.6/plugins
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.8.6/elasticsearch-analysis-ik-6.8.6.zip

然后,在Elasticsearch的plugins目录下建一个ik目录,将刚才下载的文件解压到该目录下

unzip elasticsearch-analysis-ik-6.8.6.zip 

最后,重启Elasticsearch

查看es启动情况

su  esuser
cd  /usr/local/java/elasticsearch-6.8.6/bin
ps -ef | grep elasticsearch

ElasticSearch 之中文分词器_第4张图片

重启

./elasticsearch 

ElasticSearch 之中文分词器_第5张图片

重启完成下面我们看下IK中文分词器的如何使用

IK有两种颗粒度的拆分:

ik_smart: 会做最粗粒度的拆分

ik_max_word: 会将文本做最细粒度的拆分

1) ik_smart 拆分

GET /_analyze
{
  "text":"中华人民共和国国徽",
  "analyzer":"ik_smart"
}

 ElasticSearch 之中文分词器_第6张图片

2)ik_max_word 拆分

GET /_analyze
{
  "text":"中华人民共和国国徽",
  "analyzer":"ik_max_word"
}

ElasticSearch 之中文分词器_第7张图片

 

java学习讨论群:725562382

 

你可能感兴趣的:(ElasticSearch)