这书解开了关联性检索的神密面具,告知大伙儿如何把Elasticsearch或Solr那样的百度搜索引擎做为程序控制器的关联性架构,进而表述业务流程排行标准。从这这书中你可以学好怎样融合各种各样外界数据库、归类方式及其文本分析方式对关联性开展程序编写,以满足客户需求的人性化要求,将比较满意的百度搜索展现给客户。除此之外,关联性检索也必须一定的柔性专业技能。这书还将告知阅读者如何与营销人员合作,为业务流程寻找恰当的关联性要求,进而在检索商品的全部产品研发生命期内,保持关联性改善的量变到质变。这书详细介绍了百度搜索引擎的基本概念,及关联性检索的调节技术性,用很多案例的方法详细描述了百度搜索引擎的众多特点,以产生一整套对于关联性检索的专业化方式,并提倡着眼于提升检索品质的公司文化。
目录
- 第1章 搜索的相关性问题. ...1
- 1.1 我们的目标:掌握相关性技术研发的技能 .....................2
- 1.2 为什么搜索的相关性如此之难 .......3
- 1.2.1 什么是具备“相关性”的搜索结果 .....................4
- 1.2.2 搜索:没有银弹 ...................6
- 1.3 来自相关性研究的启示 ...................7
- 1.3.1 信息检索 ...............................7
- 1.3.2 能否利用信息检索解决相关性问题 .....................9
- 1.4 如何解决相关性 ............................. 11
- 1.5 不只是技术:管理、协作与反馈 .13
- 1.6 本章小结 .......16
- 第2章 搜索—幕后揭秘17
- 2.1 搜索101 .........18
- 2.1.1 什么是搜索文档 .................19
- 2.1.2 对内容进行搜索 .................19
- 2.1.3 通过搜索来探索内容 .........21
- 2.1.4 获取进入搜索引擎的内容 .21
- 2.2 搜索引擎的数据结构 .....................23
- 2.2.1 倒排索引 .............................23
- 2.2.2 倒排索引的其他内容 .........25
- 2.3 对内容进行索引:提取、充实、分析和索引 ...............26
- 2.3.1 将内容提取为文档 .............28
- 2.3.2 充实文档以清理、强化与合并数据 ...................28
- 2.3.3 执行分析 .............................29
- 2.3.4 索引 ...33
- 2.4 文档的搜索和获取 .........................34
- 2.4.1 布尔搜索: AND/OR/NOT 34
- 2.4.2 基于 Lucene搜索的布尔查询(MUST/MUST_NOT/SHOULD) ......36
- 2.4.3 位置和短语匹配 .................37
- 2.4.4 助力用户浏览:过滤、切面和聚合 ...................38
- 2.4.5 排序、结果排名,以及相关性 ...........................39
- 2.5 本章小结 .......42
- 第3章 调试我们的第一个相关性问题. .................43
- 3.1 Solr和Elasticsearch的应用:基于Elasticsearch的例子 ..44
- 3.2 最了不起的数据集:TMDB .........45
- 3.3 用Python语言编写的例子 ..............46
- 3.4 第一个搜索应用 .............................46
- 3.4.1 针对 TMDB Elasticsearch索引的第一次搜索 ...49
- 3.5 调试查询匹配 .................................52
- 3.5.1 检查底层查询策略 .............53
- 3.5.2 剖析查询解析 .....................54
- 3.5.3 调试分析,解决匹配问题 .55
- 3.5.4 比较查询条件和倒排索引 .58
- 3.5.5 通过修改分析器来修正我们的匹配 ...................59
- 3.6 调试排名 .......62
- 3.6.1 利用 Lucene的解释功能来剖析相关性评价 .....63
- 3.6.2 向量空间模型、相关性解释信息和我们 ...........68
- 3.6.3 向量空间模型在实践中的注意事项 ...................71
- 3.6.4 通过对匹配的评价来度量相关性 .......................72
- 3.6.5 用 TF×IDF计算权重 ........74
- 3.6.6 谎言、该死的谎言和相似度 ...............................75
- 3.6.7 决定搜索词重要性的因素 .77
- 3.6.8 解决 Space Jam和 alien的排名问题 ..................78
- 3.7 问题解决了?工作永远做不完! .80
- 3.8 本章小结 .......81
- 第4章 驾驭token. ..............83
- 4.1 将token作为文档特征 ....................84
- 4.1.1 匹配的流程 .........................85
- 4.1.2 token,不只是单词 ............85
- 4.2 控制查准率和查全率 .....................86
- 4.2.1 查准率和查全率的例子 .....86
- 4.2.2 查准率或查全率的分析 .....89
- 4.2.3 一味提高查全率 .................93
- 4.3 查准率和查全率—让鱼和熊掌兼得 ...........................95
- 4.3.1 评价单一字段中特征的强度 ...............................95
- 4.3.2 超越 TF × IDF的评价:多搜索词与多字段 ....99
- 4.4 分析策略 .....100
- 4.4.1 处理分隔符 .......................100
- 4.4.2 捕获同义词的语义 ...........103
- 4.4.3 在搜索中为专指性建模 ...107
- 4.4.4 利用同义词为专指性建模 .................................107
- 4.4.5 利用路径为专指性建模 ... 110
- 4.4.6 对整个世界分词 ............... 112
- 4.4.7 对整数分词 ....................... 112
- 4.4.8 对地理数据分词 ............... 113
- 4.4.9 对歌曲分词 ....................... 115
- 4.5 本章小结 ..... 118
- 第5章 多字段搜索基础...119
- 5.1 信号及信号建模 ...........................121
- 5.1.1 什么是信号 .......................121
- 5.1.2 从源数据模型开始 ...........122
- 5.1.3 实现信号 ...........................125
- 5.1.4 信号建模:为数据的相关性建模 .....................126
- 5.2 TMDB—搜索,人类最后的边疆 .............................127
- 5.2.1 违反基本法则 ...................129
- 5.2.2 让嵌套文档扁平化 ...........129
- 5.3 在以字段为中心的搜索中给信号建模 .........................132
- 5.3.1 从 best_.elds开始 ............136
- 5.3.2 控制搜索结果中的字段偏好 .............................139
- 5.3.3 可以使用信号更精准的 best_.elds吗 ..............141
- 5.3.4 让失败者分享荣耀:为 best_.elds校准 ..........144
- 5.3.5 利用 most_.elds统计多个信号 ........................147
- 5.3.6 在 most_.elds中缩放信号 ................................149
- 5.3.7 什么时候其他匹配才无关紧要 .........................151
- 5.3.8 有关 most_.elds的结论是什么 ........................152
- 5.4 本章小结 .....153
- 第6章 以词为中心的搜索. .................................154
- 6.1 什么是以词为中心的搜索 ...........155
- 6.2 我们为什么需要以词为中心的搜索 .............................157
- 6.2.1 猎寻“白化象” .................157
- 6.2.2 在“星际迷航”的例子中寻找白化象问题 .....160
- 6.2.3 避免信号冲突 ...................162
- 6.2.4 理解信号冲突的机理 .......163
- 6.3 完成第一个以词为中心的搜索 ...165
- 6.3.1 使用以词为中心的排名函数 .............................166
- 6.3.2 运行以词为中心的查询解析器(深入底层) ...169
- 6.3.3 理解字段同步 ...................170
- 6.3.4 字段同步和信号建模 .......171
- 6.3.5 查询解析器和信号冲突 ...172
- 6.3.6 对以词为中心的搜索进行调优 .........................174
- 6.4 在以词为中心的搜索中解决信号冲突 .........................176
- 6.4.1 将字段合并成自定义全字段 .............................177
- 6.4.2 利用 cross_.elds解决信号冲突........................181
- 6.5 结合以字段为中心和以词为中心的策略:鱼与熊掌兼得 ...........................183
- 6.5.1 将“相似字段”分到一组 .................................183
- 6.5.2 理解相似字段的局限 .......185
- 6.5.3 将贪婪的简单搜索和保守的放大器结合起来 .186
- 6.5.4 以词为中心与以字段为中心,查准率与查全率 ...............................189
- 6.5.5 考虑过滤、放大,以及重新排名 .....................190
- 6.6 本章小结 .....190
- 第7章 调整相关性函数...192
- 7.1 何谓评价调整 ...............................193
- 7.2 放大:通过突出结果来实现调整 .................................195
- 7.2.1 放大:最后的边疆 ...........195
- 7.2.2 放大时—选择加法运算还是乘法运算,布尔查询还是函数查询? .................................197
- 7.2.3 选择第一扇门:利用布尔查询进行加法放大 .199
- 7.2.4 选择第二扇门:利用数学运算进行排名的函数查询 .......................202
- 7.2.5 函数查询实践:简单的乘法放大 .....................204
- 7.2.6 放大处理的基础:信号,处处是信号 .............206
- 7.3 过滤:通过排除的方法对结果进行调整 .....................206
- 7.4 满足业务需求的评价调整策略 ...208
- 7.4.1 搜索所有影片 ...................209
- 7.4.2 对放大信号进行建模 ....... 211
- 7.4.3 构造排名函数:增加具有较高价值的层级 .....215
- 7.4.4 利用函数查询对具有较高价值的层级进行评价 ...............................219
- 7.4.5 忽略 TF × IDF .................221
- 7.4.6 捕捉综合质量指标 ...........222
- 7.4.7 达成用户的时效性目标 ...224
- 7.4.8 结合函数查询 ...................227
- 7.4.9 把一切联系起来 ...............230
- 7.5 本章小结 .....230
- 第8章 提供相关性反馈...232
- 8.1 搜索框中的