30彻底掌握IK中文分词_上机动手实战IK分词器的安装和使用

<meta charset="utf-8">

30_彻底掌握IK中文分词_上机动手实战IK分词器的安装和使用

中国人,其实我们用来进行搜索的,绝大多数,都是中文应用,很少做英文的

standard:没有办法对中文进行合理分词的,只是将每个中文字符一个一个的切割开来,比如说中国人 --> 中 国 人

英语的也要学:所以说,我们利用核心知识篇的相关的知识,来把es这种英文原生的搜索引擎,先学一下; 因为有些知识点,可能用英文讲更靠谱,因为比如说analyzed,palyed,students --> stemmer,analyze,play,student。有些知识点,仅仅适用于英文,不太适用于中文

从这一讲开始,大家就会觉得很爽,因为全部都是我们熟悉的中文了,没有英文了,高阶知识点,搜索,聚合,全部是中文了

在搜索引擎领域,比较成熟和流行的,就是ik分词器

中国人很喜欢吃油条

standard:中 国 人 很 喜 欢 吃 油 条

ik:中国人 很 喜欢 吃 油条

1、在elasticsearch中安装ik中文分词器

(1)git clone https://github.com/medcl/elasticsearch-analysis-ik

(2)git checkout tags/v5.2.0

(3)mvn package

(4)将target/releases/elasticsearch-analysis-ik-5.2.0.zip拷贝到es/plugins/ik目录下

image.png

(5)在es/plugins/ik下对elasticsearch-analysis-ik-5.2.0.zip进行解压缩

(6)重启es

2、ik分词器基础知识

两种analyzer,你根据自己的需要自己选吧,但是一般是选用ik_max_word

ik_max_word: 会将文本做最细粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,中华人民,中华,华人,人民共和国,人民,人,民,共和国,共和,和,国国,国歌”,会穷尽各种可能的组合;

ik_smart: 会做最粗粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,国歌”。

共和国 --> 中华人民共和国和国歌,搜到吗????

3、ik分词器的使用

PUT /my_index { "mappings": { "my_type": { "properties": { "text": { "type": "text", "analyzer": "ik_max_word" } } } } }

POST /my_index/my_type/_bulk { "index": { "_id": "1"} } { "text": "男子偷上万元发红包求交女友 被抓获时仍然单身" } { "index": { "_id": "2"} } { "text": "16岁少女为结婚“变”22岁 7年后想离婚被法院拒绝" } { "index": { "_id": "3"} } { "text": "深圳女孩骑车逆行撞奔驰 遭索赔被吓哭(图)" } { "index": { "_id": "4"} } { "text": "女人对护肤品比对男票好?网友神怼" } { "index": { "_id": "5"} } { "text": "为什么国内的街道招牌用的都是红黄配?" }

查看分词效果

GET /my_index/_analyze { "text": "男子偷上万元发红包求交女友 被抓获时仍然单身", "analyzer": "ik_max_word" }
GET /my_index/my_type/_search { "query": { "match": { "text": "16岁少女结婚好还是单身好?" } } }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容