elasticsearch中的倒排索引

倒排索引是搜索引擎中常用的一种数据结构,适用于全文检索,能够通过文本内容高效检索到相应的文档。

一、倒排索引的基本概念

正排索引:传统的索引方式,按照文档id顺序存储文档,通过文档id找到文档对应的词。因此当需要找到包含某个词的文档时,需要遍历所有文档,不适合全文检索。

|-------|----------|
| doc_1 | cat dog |
| doc_2 | dog fish |
| doc_3 | cat fish |

倒排索引:将文档中的每个词映射到包含该词的文档id列表,这样就可以快速找到包含某个词的所有文档。

|------|----------|
| cat | [1, 3] |
| dog | [1, 2] |
| fish | [2, 3] |

二、倒排索引优势

(1) 快速检索,避免全局扫描所有文档

(2)节省存储空间,倒排索引只存储词条与文档的关系,不会重复存储词条

(3)适合全文检索

三、elasticsearch中的倒排索引

elasticsearch在实际应用中,还对倒排索引做了一系列优化,以提高性能和存储效率:

(1)压缩。倒排索引中的文档列表通常会进行压缩。

(2)分片与副本。通过分片(shard)和副本(replica)提高并发性和容错性。

(3)缓存机制。es会缓存热词。

相关推荐
空想兔1 小时前
JeecgBoot SkyWalking 分布式链路跟踪配置
后端·elasticsearch
isfox2 小时前
Hadoop 1.x 与 2.x 版本对比:架构演进与核心差异解析
大数据
货拉拉技术2 小时前
货拉拉离线大数据跨云迁移-综述篇
大数据·云原生
Lx3524 小时前
Hadoop与实时计算集成:Lambda架构实践经验
大数据·hadoop
武子康7 小时前
大数据-101 Spark Streaming 有状态转换详解:窗口操作与状态跟踪实战 附多案例代码
大数据·后端·spark
expect7g8 小时前
COW、MOR、MOW
大数据·数据库·后端
武子康1 天前
大数据-98 Spark 从 DStream 到 Structured Streaming:Spark 实时计算的演进
大数据·后端·spark
阿里云大数据AI技术1 天前
2025云栖大会·大数据AI参会攻略请查收!
大数据·人工智能
代码匠心1 天前
从零开始学Flink:数据源
java·大数据·后端·flink
Lx3521 天前
复杂MapReduce作业设计:多阶段处理的最佳实践
大数据·hadoop