前言
再Elasticsearch系列三:创建索引过程详解一文中,介绍了ES创建索引的流程。再流程中是调用Lucene的接口来创建索引的。本篇文章主要介绍ES中的索引——倒排索引
分词
在创建索引之前,会对文档中的字符串进行分词。ES中字符串有两种类型,keyword和text。
- keyword类型的字符串不会被分词,搜索时全匹配查询
- text类型的字符串会被分词,搜索时是包含查询
不同的分词器对相同字符串分词的结果大有不同,选择不同的分词器对索引的创建有很大的影响
如拆分“中华人民共和国国歌”
- ik_max_word分词器: 最细粒度拆分,分词结果如下:
- 中华人民共和国
- 中华人民
- 中华
- 华人
- 人民共和国
- 人民
- 人
- 民
- 共和国
- 共和
- 和
- 国国
- 国歌
- ik_smart分词器: 最粗粒度的拆分,分词结果如下:
- 中华人民共和国
- 国歌
本文深入解析Elasticsearch中的倒排索引,包括分词过程、单词-文档矩阵概念、倒排索引的组成(单词词典和倒排列表)以及倒排索引的搜索过程,强调了选择合适分词器的重要性。
订阅专栏 解锁全文

634

被折叠的 条评论
为什么被折叠?



