ElasticSearch 之中文分词器

4,中文分词器

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

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

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

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

测试一下

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

[ 今天 , 天气 , 真 , 好 ]

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

[ 今 ,天 ,气 , 真 , 好 ]

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

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

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 

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

IK有两种颗粒度的拆分:

ik_smart: 会做最粗粒度的拆分

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

1) ik_smart 拆分

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

 

2)ik_max_word 拆分

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

java学习讨论群:725562382

发布了245 篇原创文章 · 获赞 95 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/ywl470812087/article/details/103803809