倒排索引·实战
构建 · 存储 · 优化 · 30章全
30 章节
压缩/分片/缓存
搜索引擎级
01
倒排索引基础
· 核心概念
词典 · 倒排列表 · 正排区别
02
文档预处理
· 分词过滤
中文分词 · 停用词 · 词干提取
03
词典构建
· 哈希/Trie/DAT
哈希表 · Trie树 · 双数组Trie
04
倒排列表构建
· 编码优化
Varint · Group Varint · 跳跃表
05
倒排索引合并
· 多路归并
堆优化 · 增量/全量合并
06
索引压缩技术
· 词典/倒排压缩
PForDelta · Simple9/16 · Roaring
07
索引存储结构
· 内存/磁盘
HashMap · B+树 · LSM树 · 混合
08
索引更新策略
· 实时/批量
实时索引 · 近实时 · 批量索引
09
索引分片与分布式
· 路由/一致性哈希
分片策略 · 查询路由 · 一致性哈希
10
索引查询优化
· 评分/剪枝
TF-IDF · BM25 · MaxScore · WAND
11
索引缓存策略
· LRU/LFU
LRU · LFU · 两级缓存(内存+SSD)
12
索引持久化
· MMAP/写时复制
序列化 · MMAP · Copy-on-Write
13
索引并发控制
· 锁/无锁
读写锁 · CAS · 分段锁
14
容错与恢复
· WAL/快照
Checkpoint · WAL · 快照恢复
15
监控与调优
· 延迟/构建速度
大小监控 · 延迟 · 构建调优
16
搜索引擎应用
· 百度/Google/ES
百度/Google架构 · Elasticsearch
17
数据库全文索引
· MySQL/PostgreSQL
MySQL Full-Text · GIN索引
18
推荐系统应用
· 内容/用户画像
基于内容推荐 · 用户画像
19
生物信息学应用
· 基因/蛋白质
基因序列比对 · 蛋白质结构搜索
20
代码搜索应用
· 片段/函数调用
代码片段索引 · 调用关系
21
日志分析应用
· 关键词/异常
日志关键词索引 · 异常检测
22
社交网络应用
· 标签/关系图谱
用户标签 · 关系图谱搜索
23
电商搜索应用
· 商品属性/联合查询
商品属性索引 · 多字段联合
24
知识图谱应用
· 实体/关系索引
实体索引 · 关系索引
25
性能基准测试
· TREC/ClueWeb
QPS · 延迟 · 内存占用
26
优化案例
· 电商/新闻
搜索延迟优化 · 构建速度优化
27
未来趋势
· 向量/学习索引
向量索引融合 · Learned Index
28
常见误区
· 词典/压缩权衡
词典大小 · 压缩率 vs 解压速度
29
调试与排查
· 不一致/泄漏
索引不一致 · 查询缺失 · 内存泄漏
30
总结与展望
· 推荐阅读/开源
课程回顾 · Lucene/ES/Terrier