🔍 搜索引擎·核心原理

📘 倒排索引实战 30章
01 搜索引擎概述
  • 什么是搜索引擎
  • 搜索引擎的发展历史
  • 主流搜索引擎架构简介
02爬虫原理
  • 网络爬虫的基本工作流程
  • 爬虫策略(广度优先、深度优先)
  • 爬虫的礼貌与反爬虫
03文本预处理
  • 分词技术(正向/逆向最大匹配)
  • 停用词过滤
  • 词干提取与词形还原
04倒排索引核心
  • 正排索引 vs 倒排索引
  • 倒排索引的数据结构
  • 构建倒排索引的步骤
05倒排索引实战
  • 使用Python从零构建迷你搜索引擎
  • 倒排索引模块实现
  • 实战演练
06查询处理
  • 布尔查询模型(AND、OR、NOT)
  • 查询词与倒排列表的合并算法
  • 查询优化技巧
07TF-IDF权重计算
  • 词频(TF)的计算
  • 逆文档频率(IDF)的计算
  • TF-IDF打分公式
08向量空间模型
  • 文档与查询的向量化表示
  • 余弦相似度计算
  • 排序结果
09BM25排序算法
  • BM25公式详解
  • 参数调优(k1、b)
  • BM25 vs TF-IDF
10索引压缩
  • 倒排列表压缩(可变字节、Gamma)
  • 词项字典压缩(前端编码)
  • 压缩比与解压速度
11动态索引
  • 增量索引与合并策略
  • 对数合并(Logarithmic Merge)
  • 实时索引挑战
12查询优化
  • 查询缓存
  • 查询结果剪枝
  • 早终止(Early Termination)
13拼写纠错
  • 编辑距离(Levenshtein)
  • 基于词典的拼写建议
  • N-gram索引
14语义搜索入门
  • 词向量(Word2Vec)基础
  • 语义相似度计算
  • 从关键词到语义的演进
15链接分析
  • PageRank算法原理
  • HITS算法简介
  • 链接分析在搜索中的应用
16搜索引擎评估
  • 准确率与召回率
  • F1分数、MAP
  • NDCG(归一化折损累计增益)
17分布式搜索
  • 分片(Sharding)与复制
  • MapReduce在索引构建中的应用
  • 分布式一致性
18Elasticsearch入门
  • ES核心概念(索引、类型、文档)
  • RESTful API操作
  • 集群架构
19ES映射与分析
  • 字段映射(Mapping)定义
  • 分析器(Analyzer)配置
  • 自定义分词器
20ES查询DSL
  • 全文查询(match、match_phrase)
  • 词项查询(term、terms)
  • 复合查询(bool)
21ES聚合分析
  • 指标聚合(avg、sum)
  • 桶聚合(terms、range)
  • 管道聚合
22ES性能调优
  • 索引优化(分片数、刷新间隔)
  • 查询优化(过滤上下文)
  • 硬件与配置建议
23Solr入门
  • Solr核心概念
  • 与Elasticsearch的对比
  • Solr配置实战
24搜索推荐系统
  • 搜索补全(Search-as-you-type)
  • 相关搜索推荐
  • 基于协同过滤的推荐
25多语言搜索
  • 多语言分词挑战
  • Unicode规范化
  • 语言检测与混合语言搜索
26图像搜索基础
  • 基于文本标签的图像搜索
  • 特征提取(SIFT、CNN)
  • 向量检索(近似最近邻)
27搜索引擎安全
  • 搜索注入攻击
  • 访问控制
  • 搜索结果过滤与合规
28日志分析与搜索优化
  • 搜索日志收集(点击流)
  • 查询日志分析
  • 基于用户行为的排序优化
29搜索引擎的未来
  • 神经搜索(Dense Retrieval)
  • 大语言模型(LLM)与搜索结合
  • 多模态搜索趋势
30综合实战
  • 从零搭建垂直领域搜索引擎
  • 爬虫→索引→查询→排序→展示
  • 全流程整合