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

相关推荐
Elastic 中国社区官方博客7 小时前
Elasticsearch DiskBBQ:使用原生 SIMD Blocks 实现快 40% 的向量评分计算
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索·diskbbq
暴躁小师兄数据学院7 小时前
【AI大数据工程师特训笔记】第16讲:大数据环境安装
大数据·hadoop·笔记·flink·spark·database
豆豆8 小时前
垂直行业门户网站搭建解决方案与落地实操指南
大数据·cms·pageadmin·自定义模型·垂直门户·行业建站·站群建设
Elastic 中国社区官方博客8 小时前
Kibana:使用 AI Chat 及 MCP 轻松创建 AI 原生仪表板
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·信息可视化
Thomas_YXQ8 小时前
Unity无GC读取图片与网格完整方案
大数据·人工智能·unity·微信·产品运营
1892280486110 小时前
NV023固态MT29F16T08GWLCEJ9-QBES:C
大数据·服务器·人工智能·科技·缓存
真上帝的左手10 小时前
19. 大数据-数仓建设解决方案
大数据·数据仓库
可乐ea11 小时前
【知识获取与分享社区项目 | 项目日记第 21 天】索引构建与联想建议:Outbox 增量更新 + Completion Suggester
java·大数据·mysql·elasticsearch·搜索引擎
CoCo的编程之路11 小时前
2026全栈演进:使用前端开发助手进行项目重构的最佳工具
大数据·前端·人工智能·ai编程·comate
BlockWay12 小时前
WEEX Labs 周度观察:微软-OpenAI 合作调整与AI 多云趋势
大数据·人工智能·算法·安全·microsoft