前言
本章讲解ElasticSearch中文分词器的相关知识
方法
1.概念
中文分词 。分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。我们知道,在英文的行文中,单词之间是以空格作为自然分界符的,而中文只是字、句和段能通过明显的分界符来简单划界,唯独词没有一个形式上的分界符,虽然英文也同样存在短语的划分问题,不过在词这一层上,中文比之英文要复杂得多、困难得多。
范例:英文的分词
POST http://localhost:9200/_analyze
{
"analyzer": "standard",
"text": "hello world"
}
分析的结果如下:
范例:中文的分词
POST http://localhost:9200/_analyze
{
"analyzer": "standard",
"text": "你好,中国"
}
分析的结果如下:
很显然,这是不正确的分词方式!
2.IK中文分词器
由于存在上面的中文分词问题,所以我们需要将IK中文分词器的插件下载下来使用。
IK中文分词器插件下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases
我们这里下载最新版本的插件即可:
下载好的压缩包如下:
1)首先进入es安装目录下的plugin目录下创建名称为ik的文件夹
2)将压缩包中的内容解压到这个文件夹下
3)重新启动ES即可
3.中文分词器测试
我们再次测试一下之前的示例:
注意:ik中文分词器的名称为ik_max_word
POST http://localhost:9200/_analyze
{
"analyzer": "ik_max_word",
"text": "你好,中国"
}
分析结果如下:
很显然,这就是我们想要的结果!