前言
再Elasticsearch系列三:创建索引过程详解一文中,介绍了ES创建索引的流程。再流程中是调用Lucene的接口来创建索引的。本篇文章主要介绍ES中的索引——倒排索引
分词
在创建索引之前,会对文档中的字符串进行分词。ES中字符串有两种类型,keyword和text。
- keyword类型的字符串不会被分词,搜索时全匹配查询
- text类型的字符串会被分词,搜索时是包含查询
不同的分词器对相同字符串分词的结果大有不同,选择不同的分词器对索引的创建有很大的影响
如拆分“中华人民共和国国歌”
- ik_max_word分词器: 最细粒度拆分,分词结果如下:
- 中华人民共和国
- 中华人民
- 中华
- 华人
- 人民共和国
- 人民
- 人
- 民
- 共和国
- 共和
- 和
- 国国
- 国歌
- ik_smart分词器: 最粗粒度的拆分,分词结果如下:
- 中华人民共和国
- 国歌