ES知识点

By youfang

ES知识点

在数据查询中,索引是检索数据最有效率的方式。

  • MySQL中使用的是B+Tree索引
  • ES中使用的是倒排索引

索引过程

  1. ES底层分词器会对doc进行分词,得到一个一个单词。
  2. 然后会建立一个映射关系,将单词 和 doc的id对应。
  3. 在es中进行全文搜索时,搜索结果的匹配度也是采用的 (TF-IDF算法) 。最新的版本使用的是 **(BM25 算法)**。
    • 得分 (_score) 就越大, 表示相关性越高.

(TF-IDF算法) 与 (BM25 算法)

  1. 单个关键词(term)在文档的某字段中出现的频率次数越高意味着该文档与搜索的相关度也越高。
  2. 某个关键词(term) 在索引(单个分片)之中出现的频次. 出现频次越高, 这个词的相关度越低
  3. BM25也是基于TF-IDF进行了优化。