自制搜索引擎 PDF_SEO教程

用户投稿

自制搜索引擎 PDF_SEO教程

正文

自制搜索引擎 PDF_SEO教程,

内容简介:

《自制搜索引擎》聚焦于Google和Yahoo!等Web搜索服务幕后的搜索引擎系统,首先讲解了搜索引擎的基础知识和原理,接着以现实中的开源搜索引擎Senna/Groonga为示例,使用该引擎的源代码引导读者亲自体验搜索引擎的开发过程。这部分讲解涉及了倒排索引的制作和压缩、检索的处理流程以及搜索引擎的优化等内容。又简单介绍了一些更加专业的搜索引擎的知识和要点,为读者今后进一步学习打下了基础。本书适合所有对搜索引擎感兴趣的技术人员阅读。

作者简介:

山田浩之(作者)
信息工程学博士。先后于日本IBM、雅虎从事分布式搜索引擎的研发工作。目前在东京大学生产技术研究所从事高性能并行数据库的研发工作。
末永匡(作者)
开源搜索引擎Senna/Groonga的开发者。每天都在奋斗,梦想着能创建一个更加自由、更加无拘无束的,而不是一家独大的应用程序平台。
胡屹(译者)
多年从事Web开发工作。热爱编程,关注设计模式,致力于提升软件开发的质量。曾获得SCJP和PHP ZCE证书。译有《计算机是怎样跑起来的》。

资源目录:
第1章?搜索引擎是如何工作的??1
1-1?理解搜索引擎的构成??3
什么是搜索引擎??3
构成搜索引擎的组件??4
与搜索引擎相关的组件??5
1-2? 实现了快速全文搜索的索引结构??7
全文搜索的两种方法??7
倒排索引的结构??8
倒排索引的构建方法??9
倒排索引中的术语??10
1-3?深入理解倒排索引??12
倒排索引=词典+倒排文件??12
从倒排索引中查找单词??13
将单词的位置信息加入倒排文件中??13
从倒排索引中查找短语??14
1-4?制作中文文档的倒排索引??16
分割中文句子的方法??16
权衡分割方法??17
1-5?实现倒排索引??19
实现词典??19
实现倒排文件??22
1-6?使用倒排索引进行检索??24
布尔检索??24
使用倒排索引的检索处理流程??24
关联度的计算方法??26
信息检索中的检索??27
1-7?构建倒排索引??29
使用内存构建倒排索引??29
使用二级存储构建倒排索引??29
静态索引构建和动态索引构建??32
1-8?准备要检索的文档??34
收集数据??34
数据规范化??35
第2章?准备全文搜索引擎的检索样本??37
2-1?全文搜索引擎wiser??39
wiser的构成??39
准备用于检索的文档??40
2-2?安装wiser??42
构建wiser??42
启动wiser??43
解压缩Wikipedia的副本??44
2-3?运行wiser??45
构建倒排索引??45
使用倒排索引查询??46
比较grep和wiser的运行速度??46
第3章?构建倒排索引??49
3-1?复习有关倒排索引的知识??51
提取词元??51
为每个词元创建倒排列表??53
3-2?构建倒排索引??54
在存储器上创建倒排列表??54
倒排列表和倒排文件的数据结构??54
从源代码级别梳理倒排索引的构建顺序??56
进一步阅读源代码??59
专栏?根据实际情况设计搜索引擎(系统)??68
第4章?开始检索吧??71
4-1?检索处理的大致流程??73
充分理解检索处理的流程??73
4-2?使用倒排索引进行检索??75
从源代码级别梳理检索处理的流程??75
解读split_query_to_tokens()函数的具体实现??76
使用具体示例加深对检索处理流程的理解??77
解读函数search_docs()的实现细节??80
解读函数search_phrase()的实现??84
专栏?如何实现标签检索??88
第5章?压缩倒排索引??89
5-1?压缩的基础知识??90
压缩倒排索引的好处??90
专栏?压缩的目的??90
倒排索引的压缩方法??91
倒排文件的压缩方法??91
压缩的原理??94
5-2?实现wiser中的压缩功能??97
压缩功能源代码的概要??97
了解无需进行压缩时的??99
抓住Golomb编码的要点??101
解读Golomb编码中的编码处理??105
解读Golomb编码的解码处理??108
第6章?挑战wiser的优化及参数的调整??113
6-1?提高检索处理的效率??115
优化检索处理??115
将查询分割为无重复部分的词元序列??116
6-2?禁用短语检索??119
分析对2字符的字符串进行检索时的行为??119
分析对3字符的字符串进行检索时的行为??120
6-3?改变检索结果的输出顺序??122
作为检索结果排序核心的指标??122
按照文档大小降序排列的检索结果??124
专栏?排名欺诈??128
6-4? 让1个字符的查询也能检索出结果??29
获取以特定字符开头的词元的列表??129
合并检索到的结果??131
专栏?如何实现相似文档的检索??131
6-5? 调整控制倒排索引更新的缓冲区容量??133
确认由缓冲区容量的差异带来的不同效果??133
用sar命令分析负载??134
6-6? 调整只有英文字母的词元的分割方法??135
如何避免用英文单词检索时准确率下降的问题??135
如何判断某字符是否属于索引对象??135
修改负责分割词元的函数??136
6-7?确认压缩的效果??138
观察Golomb编码的效果??138
对比压缩启用前后的索引大小??138
专栏?避免滥用全文搜索引擎??139
第7章?为今后更加深入的学习做准备??141
7-1?wiser没能实现的功能??143
倒排索引之外的全文搜索索引??143
高效处理大规模数据的存储器??143
利用缓存提高检索的速度??143
使用各种各样的压缩方法??144
优化搜索结果的排名??144
调整准确率和召回率??145
降低检索结果排序处理的负载??147
并行处理??147
结合对属性的筛选过滤??148
分面搜索??148
专栏?时延和吞吐量??149
7-2? 全文搜索引擎Groonga的特点??150
通过词元的部分一致检索提升召回率??150
使用内存映射文件??151
片段??152
专栏?宣传活动的重要性??152
7-3? 实现出考虑到用户意图的搜索引擎??153
引入停用词??153
应对词素解析的错误??153
专栏?断句错误??154
处理全角字符和半角字符??155
对查询进行归一化??156
留意布尔检索的解析过程??156
通过词素解析器适当地解析查询??157
对错误的输入进行修正??157
输入补全??158
建议用户检索相关的关键词??159
7-4?收集、提取文档时的要点??160
制作爬虫时的处理要点??160
在提取文本时需要处理的要点??163
Appendix?附录??165
A-1?深度话题 166
近几年的压缩方法??166
动态索引构建??169
分布式索引??174
A-2?wiser中的文本提取和存储??178
用于处理XML的2 种API——DOM和SAX??178
提取文档的标题和正文??179
掌握状态的迁移??182
构建文档数据库??187
后记??191

若对本页面资源感兴趣,请点击下方或右方图片,注册登录后

搜索本页相关的【资源名】【软件名】【功能词】或有关的关键词,即可找到您想要的资源

如有其他疑问,请咨询右下角【在线客服】,谢谢支持!

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 sumchina520@foxmail.com 举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.jukee8.cn/75207.html