倒排索引与正排索引
正排索引类似书的目录
- 由书的章节指向章节关键词
- es 中文档id 对应的单词
倒排索引类似书的索引
- 由内容的关键词指向页数
- es 单词对应文档id
倒排索引的使用
- 通过倒排索引获取关键词的文档id
- 通过正排索引查出对应id文档
- 返回文档内容
倒排索引由 单词词典和倒排列表组成
单词词典 term dictionary
- 记录所有文档的单词
- 记录单词到倒排列表的关联信息
- 一般用B+ Tree实现
倒排列表 posting list
- 记录了单词对应的文档集合 由倒排索引项组成
- 倒排索引项包括:文档Id 单词频率 位置 偏移
分词
- 指将文本转换成一系列单词的过程,也可以叫做文本分析,在es中成为Analysis。
分词器 es 中专门处理分词器的组件,英文为Analyzer,组成如下 也是 analyzer 调用的顺序
- character filter 针对原始文本进行处理 例如 去除 html标记
- tokenizer 将原始文本按照一定的会泽切分为单词
- token filter 针对 tokenizer处理的单词再加工 例如 转小写等
analyzer api
es 提供测试分词的api接口,_analyzer
- 可以直接指定analyzer
- 可以指定索引中的字段
- 可自定义分词器
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。