- 基本概念
Mysql含义 | Es概念 |
---|---|
表 | Index(索引) |
行 | Docuemnt(文档) |
列 | Field(类型) |
表定义 | Mapping(映射) |
SQL | DSL |
2.什么是倒排索引?
用于提高数据检索数据的一种数据结构,空间消耗比较大,倒排索引首先是将检索文档进行分词得到多个词语,然后将词语跟文档id关联,从而提高检索效率。
3.倒排索引的创建流程和检索流程?
创建流程
- 建立文档列表,每个文档都有一个对应的文档ID。
- 通过分词器对文档进行分词,生成类似(词语:文档id)的一组组数据。
- 将词语作为索引关键字,记录下词语和文档的对应关系。
检索流程
- 根据分词找到对应文档ID
- 根据文档ID找到对应文档
4.倒排索引由什么组成?
- 单词字典:用于存储单词列表,用B+树存储,提高查询效率。
- 倒排列表:记录单词对应的文档集合,分为: DOCID(文档id),TF(词频),Position(位置),Offset(偏移量)
5.常用分词器:IK Analyzer
两种分词模式:
- ik_max_word:最细粒度分词
- ik_smart 智能模式,比较粗