Elasticsearch倒排索引原理,搜索秒级响应的秘密
时间:2026-05-30 23:46:44 阅读:28
Elasticsearch之所以能实现毫秒级搜索,核心在于倒排索引这种数据结构。理解它就知道ES为什么适合搜索而不是事务。
正排索引与倒排索引
正排索引是文档ID到内容的映射,MySQL的全文索引就是这种。倒排索引反过来:把内容分词后建立"词→文档ID列表"的映射。搜索'nginx'时直接查词典找到所有包含该词的文档ID,不需要扫描全文。
分词与映射
中文分词比英文复杂得多,需要IK分词器等插件来正确切词。每个词对应的文档列表按ID排序存储,支持快速交集和并集运算。multi-match查询就是同时对多个字段的倒排索引取交集。
相关性评分
搜索结果按相关性排序,基于TF-IDF或BM25算法。TF(词频)越高越相关,IDF(逆文档频率)越大表示该词越罕见、权重越高。ES默认的BM25算法比TF-IDF更合理,不会让高频词过度影响排名。




提供云计算服务