自制搜索引擎txt,chm,pdf,epub,mobi下载 作者:[日]山田浩之/[日]末永匡 出版社: 人民邮电出版社 原作名: 検索エンジン自作入門 译者:胡屹 出版年: 2016-1 页数: 208 定价: 39.00元 装帧: 平装 丛书: 自制系列 ISBN: 9787115411709 内容简介 · · · · · ·《自制搜索引擎》聚焦于Google和Yahoo!等Web搜索服务幕后的搜索引擎系统,首先讲解了搜索引擎的基础知识和原理,接着以现实中的开源搜索引擎Senna/Groonga为示例,使用该引擎的源代码引导读者亲自体验搜索引擎的开发过程。这部分讲解涉及了倒排索引的制作和压缩、检索的处理流程以及搜索引擎的优化等内容。又简单介绍了一些更加专业的搜索引擎的知识和要点,为读者今后进一步学习打下了基础。本书适合所有对搜索引擎感兴趣的技术人员阅读。 作者简介 · · · · · ·山田浩之(作者) 信息工程学博士。先后于日本IBM、雅虎从事分布式搜索引擎的研发工作。目前在东京大学生产技术研究所从事高性能并行数据库的研发工作。 末永匡(作者) 开源搜索引擎Senna/Groonga的开发者。每天都在奋斗,梦想着能创建一个更加自由、更加无拘无束的,而不是一家独大的应用程序平台。 胡屹(译者) 多年从事Web开发工作。热爱编程,关注设计模式,致力于提升软件开发的质量。曾获得SCJP和PHP ZCE证书。译有《计算机是怎样跑起来的》。 目录 · · · · · ·第1章 搜索引擎是如何工作的 11-1 理解搜索引擎的构成 3 什么是搜索引擎 3 构成搜索引擎的组件 4 与搜索引擎相关的组件 5 1-2 实现了快速全文搜索的索引结构 7 · · · · · ·() 第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 · · · · · · () "自制搜索引擎"试读 · · · · · ·在体验搜索引擎的开发过程之前,我们先在第1 章介绍一下搜索引擎的基本概念。搜索引擎的基础是应用于信息检索、数据库等领域的信息技术,要想开发搜索引擎,横跨多个领域的广泛知识是不可或缺的。在本章我们尽可能通俗易懂、简明扼要地总结归纳了这些知识。由于本章讲解的是后续章节的背景知识,所以恳请诸位认真地读下去。1-1 理解搜索引擎的构成在本节,我们首先介绍什么是搜.. |
哲学问题
烧脑 经典
不错,挺好的
觉得不错