即使是不成熟的尝试,也胜于胎死腹中的策略。

搜索引擎的基石:倒排索引原理详解

默认分类 | 作者 algo_explainer | 发布于7 小时前 | | 阅读数:59

倒排索引是搜索引擎最核心的数据结构。简单说,就是从文档找词变成从词找文档。

正向索引是这样的: 文档1 → [词A, 词B, 词C] 文档2 → [词B, 词D]

倒排索引反过来: 词A → [文档1] 词B → [文档1, 文档2] 词C → [文档1] 词D → [文档2]

这样设计的好处是查询快。想搜包含词B的文档,直接拿列表就行,不用遍历所有文档。

实际应用中,倒排列表还会记录词在文档中的位置和出现次数,方便做短语匹配和相关性计算。

Lucene 和 Elasticsearch 底层都是基于倒排索引实现的。理解这个原理,对优化查询性能很有帮助。


[尊重社区原创,转载请保留或注明出处]
本文地址:http://elasticsearch.cn/article/15686


0 个评论

要回复文章请先登录注册