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会缓存热词。

相关推荐
LINGYI0002 小时前
什么是品牌全渠道电商代运营公司?
大数据·电商代运营
俊哥大数据8 小时前
【项目10】基于Flink房地产领域大数据实时分析系统
大数据·flink
sensen_kiss8 小时前
INT303 Big Data Analysis 大数据分析 Pt.12 推荐系统(Recommendation Systems)
大数据·数据挖掘·数据分析
数字化转型20258 小时前
企业数字化架构集成能力建设
大数据·程序人生·机器学习
jayaccc8 小时前
Git命令大全:从入门到精通
大数据·git·elasticsearch
Hello.Reader9 小时前
Flink CEP Pattern API、连续性、跳过策略、超时与迟到数据一篇讲透
大数据·flink
极海拾贝9 小时前
GeoScene解决方案中心正式上线!
大数据·人工智能·深度学习·arcgis·信息可视化·语言模型·解决方案
论迹11 小时前
【Git】-- Git安装 & 卸载(ubuntu)
git·ubuntu·elasticsearch
qq_2624960913 小时前
Elasticsearch 核心参数调优指南
大数据·elasticsearch
OpenCSG13 小时前
AgenticOps 如何重构企业 AI 的全生命周期管理体系
大数据·人工智能·深度学习