elastic stack 那些事【2】

倒排索引与正排索引

  1. 正排索引类似书的目录

    1. 由书的章节指向章节关键词
    2. es 中文档id 对应的单词
  2. 倒排索引类似书的索引

    1. 由内容的关键词指向页数
    2. es 单词对应文档id
  3. 倒排索引的使用

    1. 通过倒排索引获取关键词的文档id
    2. 通过正排索引查出对应id文档
    3. 返回文档内容

倒排索引由 单词词典和倒排列表组成

  1. 单词词典 term dictionary

    1. 记录所有文档的单词
    2. 记录单词到倒排列表的关联信息
    3. 一般用B+ Tree实现
  2. 倒排列表 posting list

    1. 记录了单词对应的文档集合 由倒排索引项组成
    2. 倒排索引项包括:文档Id 单词频率 位置 偏移

分词

  1. 指将文本转换成一系列单词的过程,也可以叫做文本分析,在es中成为Analysis。
  2. 分词器 es 中专门处理分词器的组件,英文为Analyzer,组成如下 也是 analyzer 调用的顺序

    1. character filter 针对原始文本进行处理 例如 去除 html标记
    2. tokenizer 将原始文本按照一定的会泽切分为单词
    3. token filter 针对 tokenizer处理的单词再加工 例如 转小写等

analyzer api

es 提供测试分词的api接口,_analyzer

  1. 可以直接指定analyzer
  2. 可以指定索引中的字段
  3. 可自定义分词器

你可能感兴趣的:(java)