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

相关推荐
CodeAmaz13 分钟前
Elasticsearch Query DSL 中 must / filter / should 详解
elasticsearch
武子康34 分钟前
大数据-200 决策树信息增益详解:信息熵、ID3 选特征与 Python 最佳切分实现
大数据·后端·机器学习
小王毕业啦1 小时前
2000-2023年 上市公司-企业组织惯性数据
大数据·人工智能·数据挖掘·数据分析·数据统计·社科数据·实证数据
小北方城市网2 小时前
第 3 课:前后端全栈联动核心 —— 接口规范 + AJAX + 跨域解决(打通前后端壁垒)
java·大数据·网络·python
数智顾问2 小时前
(111页PPT)华为业务变革框架及战略级项目管理(附下载方式)
大数据·运维·华为
微光闪现3 小时前
国际航班动态提醒与延误预测优选平台指南
大数据·人工智能·算法
week_泽3 小时前
github_upload,上传项目
大数据·elasticsearch·github
TDengine (老段)4 小时前
TDengine 生态系统连接指南
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
CNRio4 小时前
Day 35:Git的分支管理:理解分支的创建、切换与合并
大数据·git·elasticsearch
kylezhao20194 小时前
WinForm/WPF界面开发(常用控件、布局设计、事件处理)
大数据·hadoop·wpf