相关性搜索:利用Solr与Elasticsearch创建智能应用 712132721X,9787121327216

配送至
$ $ USD 美元

编辑推荐

《相关性搜索:利用Solr与Elasticsearch创建智能应用》介绍了搜索引擎的基本原理,及相关性搜索的调试技术,用大量实例的方式详述了搜索引擎的诸多特性,以形成一整套针对相关性搜索的系统化方法,并倡导致力于提高搜索质量的企业文化。

作者简介

作者:(美)Doug Turnbull(道格 特恩布尔),John Berryman(约翰 贝瑞曼) 译者:莫映
Doug Turnbull 在OpenSource Connections 上领导着一项搜索相关性的咨询业务,在那里他经常发表观点和更新博客。Doug 利用各种搜索和自然语言处理技术(NLP)为多个领域的客户构建语义丰富的相关性搜索体验。John Berryman 的第一份职业是航空工程师,但在航空领域工作了几年之后,他发现编写程序或解决数学难题才是他最喜欢的工作。最终,John 撇下了飞机和卫星,开始全职工作于软件开发、基础架构,以及搜索技术领域。目前,John 供职于Eventbrite,帮助利用Elasticsearch 构建事件活动的发现、搜索及推荐。
本书的三位译者的中英文水平都极高,且工作在系统管理的一线,具有丰富的理论知识和实践经验,相信会为读者带来一本质量上乘的图书。

目录

第1章搜索的相关性问题
1.1我们的目标:掌握相关性技术研发的技能
1.2为什么搜索的相关性如此之难
1.2.1什么是具备“相关性”的搜索结果
1.2.2搜索:没有银弹
1.3来自相关性研究的启示
1.3.1信息检索
1.3.2能否利用信息检索解决相关性问题
1.4如何解决相关性
1.5不只是技术:管理、协作与反馈
1.6本章小结
第2章搜索—幕后揭秘17
2.1搜索101
2.1.1什么是搜索文档
2.1.2对内容进行搜索
2.1.3通过搜索来探索内容
2.1.4获取进入搜索引擎的内容
2.2搜索引擎的数据结构
2.2.1倒排索引
2.2.2倒排索引的其他内容
2.3对内容进行索引:提取、充实、分析和索引
2.3.1将内容提取为文档
2.3.2充实文档以清理、强化与合并数据
2.3.3执行分析
2.3.4索引
2.4文档的搜索和获取
2.4.1布尔搜索:AND/OR/NOT34
2.4.2基于Lucene搜索的布尔查询(MUST/MUST_NOT/SHOULD)
2.4.3位置和短语匹配
2.4.4助力用户浏览:过滤、切面和聚合
2.4.5排序、结果排名,以及相关性
2.5本章小结
第3章调试我们的第一个相关性问题
3.1Solr和Elasticsearch的应用:基于Elasticsearch的例子
3.2最了不起的数据集:TMDB
3.3用Python语言编写的例子
3.4第一个搜索应用
3.4.1针对TMDBElasticsearch索引的第一次搜索
3.5调试查询匹配
3.5.1检查底层查询策略
3.5.2剖析查询解析
3.5.3调试分析,解决匹配问题
3.5.4比较查询条件和倒排索引
3.5.5通过修改分析器来修正我们的匹配
3.6调试排名
3.6.1利用Lucene的解释功能来剖析相关性评价
3.6.2向量空间模型、相关性解释信息和我们
3.6.3向量空间模型在实践中的注意事项
3.6.4通过对匹配的评价来度量相关性
3.6.5用TF×IDF计算权重
3.6.6谎言、该死的谎言和相似度
3.6.7决定搜索词重要性的因素
3.6.8解决SpaceJam和alien的排名问题
3.7问题解决了?工作永远做不完!
3.8本章小结
第4章驾驭token
4.1将token作为文档特征
4.1.1匹配的流程
4.1.2token,不只是单词
4.2控制查准率和查全率
4.2.1查准率和查全率的例子
4.2.2查准率或查全率的分析
4.2.3一味提高查全率
4.3查准率和查全率—让鱼和熊掌兼得
4.3.1评价单一字段中特征的强度
4.3.2超越TF×IDF的评价:多搜索词与多字段
4.4分析策略
4.4.1处理分隔符
4.4.2捕获同义词的语义
4.4.3在搜索中为专指性建模
4.4.4利用同义词为专指性建模
4.4.5利用路径为专指性建模
4.4.6对整个世界分词
4.4.7对整数分词
4.4.8对地理数据分词
4.4.9对歌曲分词
4.5本章小结
第5章多字段搜索基础
5.1信号及信号建模
5.1.1什么是信号
5.1.2从源数据模型开始
5.1.3实现信号
5.1.4信号建模:为数据的相关性建模
5.2TMDB—搜索,人类最后的边疆
5.2.1违反基本法则
5.2.2让嵌套文档扁平化
5.3在以字段为中心的搜索中给信号建模
5.3.1从best_fields开始
5.3.2控制搜索结果中的字段偏好
5.3.3可以使用信号更精准的best_fields吗
5.3.4让失败者分享荣耀:为best_fields校准
5.3.5利用most_fields统计多个信号
5.3.6在most_fields中缩放信号
5.3.7什么时候其他匹配才无关紧要
5.3.8有关most_fields的结论是什么
5.4本章小结
第6章以词为中心的搜索
6.1什么是以词为中心的搜索
6.2我们为什么需要以词为中心的搜索
6.2.1猎寻“白化象”
6.2.2在“星际迷航”的例子中寻找白化象问题
6.2.3避免信号冲突
6.2.4理解信号冲突的机理
6.3完成第一个以词为中心的搜索
6.3.1使用以词为中心的排名函数
6.3.2运行以词为中心的查询解析器(深入底层)
6.3.3理解字段同步
6.3.4字段同步和信号建模
6.3.5查询解析器和信号冲突
6.3.6对以词为中心的搜索进行调优
6.4在以词为中心的搜索中解决信号冲突
6.4.1将字段合并成自定义全字段
6.4.2利用cross_fields解决信号冲突
6.5结合以字段为中心和以词为中心的策略:鱼与熊掌兼得
6.5.1将“相似字段”分到一组
6.5.2理解相似字段的局限
6.5.3将贪婪的简单搜索和保守的放大器结合起来
6.5.4以词为中心与以字段为中心,查准率与查全率
6.5.5考虑过滤、放大,以及重新排名
6.6本章小结
第7章调整相关性函数
7.1何谓评价调整
7.2放大:通过突出结果来实现调整
7.2.1放大:最后的边疆
7.2.2放大时—选择加法运算还是乘法运算,布尔查询还是函数查询?
7.2.3选择第一扇门:利用布尔查询进行加法放大
7.2.4选择第二扇门:利用数学运算进行排名的函数查询
7.2.5函数查询实践:简单的乘法放大
7.2.6放大处理的基础:信号,处处是信号
7.3过滤:通过排除的方法对结果进行调整
7.4满足业务需求的评价调整策略
7.4.1搜索所有影片
7.4.2对放大信号进行建模
7.4.3构造排名函数:增加具有较高价值的层级
7.4.4利用函数查询对具有较高价值的层级进行评价
7.4.5忽略TF×IDF
7.4.6捕捉综合质量指标
7.4.7达成用户的时效性目标
7.4.8结合函数查询
7.4.9把一切联系起来
7.5本章小结
第8章提供相关性反馈
8.1搜索框中的相关性反馈
8.1.1利用“即输即搜”提供即时结果
8.1.2利用“搜索补全”帮助用户找到最佳查询
8.1.3利用搜索建议来修正输入和拼写错误
8.2浏览期间的相关性反馈
8.2.1构建基于切面的浏览
8.2.2提供面包线导航
8.2.3选择其他的结果排序方式
8.3搜索结果清单中的相关性反馈
8.3.1什么信息应该出现在搜索结果中
8.3.2通过文本片段与高亮提供相关性反馈
8.3.3对相似文档分组
8.3.4在用户搜不到结果时给予帮助
8.4本章小结
第9章设计以相关性为核心的搜索应用
9.1Yowl!一个绝佳的新起点
9.2信息和需求的收集
9.2.1理解用户及其信息需求
9.2.2理解业务需求
9.2.3找出必要及可用的信息
9.3搜索应用的设计
9.3.1将用户体验可视化
9.3.2定义字段和模型的信号
9.3.3信号的组合与平衡
9.4部署、监控和改进
9.4.1监控
9.4.2找出问题并解决它们
9.5知道什么是恰到好处
9.6本章小结
第10章以相关性为核心的企业
10.1反馈:以相关性为核心的企业所依赖的基石
10.2为什么以用户为中心的文化比数据驱动的文化更重要
10.3无视相关性的天马行空
10.4相关性反馈的觉醒:领域专家和专业用户
10.5相关性反馈的成长:内容管理
10.5.1内容管理员的角色
10.5.2与内容管理员缺乏交流的风险
10.6让相关性更加流畅:工程师/内容管理员的结对
10.7让相关性加速:测试驱动的相关性
10.7.1理解测试驱动的相关性
10.7.2使用带用户行为数据的测试驱动相关性
10.8超越测试驱动的相关性:学习排序
10.9本章小结
第11章语义和个性化搜索
11.1基于用户概况的个性化搜索
11.1.1收集用户的概况信息
11.1.2将概要信息与文档索引紧密关联
11.2基于用户行为的个性化搜索
11.2.1引入协同过滤
11.2.2使用共现计数的基本协同过滤算法
11.2.3将用户行为信息与文档索引紧密关联
11.3构建概念性搜索的基本方法
11.3.1构建概念性信号
11.3.2利用同义词对内容进行扩充
11.4利用机器学习来构建概念性搜索
11.4.1概念性搜索中短语的重要性
11.5连接个性化搜索与概念性搜索
11.6推荐是一种广义的搜索
11.6.1用推荐代替搜索
11.7祝愿大家有一个美好的相关性搜索之旅
11.8本章小结
附录A直接根据TMDB建立索引
附录BSolr读者指南

文摘

版权页:

插图:

相比于那些更为具体的信号,以词为中心的搜索应该对最终的评价产生多大的影响呢?那些不怎么具体的,以词为中心的子句,对评价又有哪些影响呢?增加以字段为中心的SHOULD子句,我们会重蹈覆辙,再次遇到之前的“白化象”问题吗?即:存在大量非基础性的、以字段为中心的、雪花般特殊的字段匹配,而并非所有的搜索词在以词为中心的搜索中都得到了匹配。是的,这是有可能的。所以,持续不断地让以词为中心和以字段为中心的两种搜索方法保持彼此之间的“阴阳平衡”,会花费相关性技术工程师大量的时间。不过幸运的是,在Elasticsearch中,每一条查询都可以被放大处理,可以将总体评价按照我们所期望的方向进行调节,不论是向着“阴”面还是向着“阳”面。
6.5.4以词中心与以字段为中心,查准率与查全率
上一节中提到的这种方式,让人不禁想起了我们曾经在查准率(precision)和查全率(recall)之间产生的纠结。正如我们在第4章中学到的,较高的查全率保证了所有正确的匹配都会出现在搜索结果中,而较高的查准率则保证了搜索结果中只包含较少的错误匹配(false—positive matches)。
ISBN712132721X,9787121327216
出版社电子工业出版社
作者道格·特恩布尔 (Doug Turnbull)
尺寸16