标签分类
当前位置:首页 > 其它计算机电子书 > 分布式搜索电子书网盘下载
自己动手写分布式搜索引擎 自己动手写分布式搜索引擎
a263482604

a263482604 提供上传

资源
35
粉丝
37
喜欢
184
评论
1

    自己动手写分布式搜索引擎 PDF 高质量版

    分布式搜索电子书
    • 发布时间:

    给大家带来的一篇关于分布式搜索相关的电子书资源,介绍了关于分布式、搜索引擎方面的内容,本书是由清华大学出版社出版,格式为PDF,资源大小453 MB,罗刚、崔智杰编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:7.5,更多相关的学习资源可以参阅 其它计算机电子书、等栏目。

  • 自己动手写分布式搜索引擎 PDF 下载
  • 下载地址:https://pan.baidu.com/s/11QRbo4ZHp8h294WlSckD3
  • 分享码:9nv9
  • 自己动手写分布式搜索引擎 PDF

    猎兔检索技术工程师数十年技术性积累与升化,解读分布式搜索引擎的基础算法与原理。ElasticSearch分布式集群服务器社会经验的小结,领着用户迅速新手入门分布式搜索引擎开发设计。这书详细介绍了分布式搜索引擎开发设计的原理与Java保持,包括全文检索的原理与保持、分布式算法与编码保持、SolrCloud和ElasticSearch的应用与原理等內容,并主要详细介绍了一种保持分布式中文搜索引擎的方式 。
    这书合适有Java程序设计基础的开发者或是对分布式搜索引擎技术很感兴趣的从业者应用

    目录

    • 第1章 搜索引擎 1
    • 1.1 搜索引擎基本模块 2
    • 1.2 开发环境 3
    • 1.3 搜索引擎工作原理 4
    • 1.3.1 网络爬虫 5
    • 1.3.2 全文索引 5
    • 1.3.3 搜索用户界面 8
    • 1.3.4 分布式计算 9
    • 1.3.5 文本挖掘 9
    • 1.4 算法基础 9
    • 1.4.1 折半查找 10
    • 1.4.2 排序 10
    • 1.4.3 最小生成树 12
    • 1.5 软件工具 15
    • 1.6 单元测试 15
    • 1.7 本章小结 17
    • 1.8 术语表 18
    • 第2章 自己动手写全文检索 19
    • 2.1 构建索引 22
    • 2.2 生成索引文件 23
    • 2.3 读入索引文件 25
    • 2.4 查询 26
    • 2.5 有限状态机 29
    • 2.5.1 运算 29
    • 2.5.2 编辑距离有限状态机 30
    • 2.6 本章小结 32
    • 第3章 Lucene的原理与应用 33
    • 3.1 Lucene快速入门 34
    • 3.1.1 创建索引 34
    • 3.1.2 查询索引库 35
    • 3.1.3 创建文档索引 36
    • 3.1.4 查询文档索引 36
    • 3.2 创建和维护索引库 37
    • 3.2.1 设计索引库结构 37
    • 3.2.2 创建索引库 38
    • 3.2.3 向索引库中添加索引文档 40
    • 3.2.4 删除索引库中的索引文档 43
    • 3.2.5 更新索引库中的索引文档 44
    • 3.2.6 关闭索引库 45
    • 3.2.7 索引的优化与合并 45
    • 3.2.8 灵活索引 46
    • 3.2.9 索引文件格式 47
    • 3.2.10 定制索引存储结构 49
    • 3.2.11 写索引集成到爬虫 54
    • 3.2.12 多线程写索引 56
    • 3.2.13 分发索引 58
    • 3.2.14 修复索引 61
    • 3.3 查找索引库 61
    • 3.3.1 查询过程 61
    • 3.3.2 常用查询 64
    • 3.3.3 基本词查询 65
    • 3.3.4 模糊匹配 65
    • 3.3.5 布尔查询 67
    • 3.3.6 短语查询 69
    • 3.3.7 跨度查询 71
    • 3.3.8 FieldScoreQuery 74
    • 3.3.9 排序 77
    • 3.3.10 使用Filter筛选搜索结果 81
    • 3.3.11 使用Collector筛选搜索
    • 结果 82
    • 3.3.12 遍历索引库 85
    • 3.3.13 关键词高亮显示 88
    • 3.3.14 列合并 91
    • 3.3.15 关联内容(BlockJoinQuery) 92
    • 3.3.16 查询大容量索引 94
    • 3.4 读写并发 95
    • 3.5 Lucene深入介绍 95
    • 3.5.1 整体结构 96
    • 3.5.2 索引原理 97
    • 3.5.3 文档值 100
    • 3.5.4 FST 102
    • 3.6 查询语法与解析 102
    • 3.6.1 JavaCC 104
    • 3.6.2 生成一个查询解析器 114
    • 3.6.3 简单的查询解析器 114
    • 3.6.4 灵活的查询解析器 114
    • 3.7 检索模型 119
    • 3.7.1 向量空间模型 121
    • 3.7.2 DFR 125
    • 3.7.3 BM25概率模型 130
    • 3.7.4 BM25F概率模型 136
    • 3.7.5 统计语言模型 138
    • 3.7.6 相关性反馈 140
    • 3.7.7 隐含语义索引 140
    • 3.7.8 学习评分 141
    • 3.7.9 查询与相关度 142
    • 3.7.10 使用Payload调整相关性 142
    • 3.8 查询原理 146
    • 3.8.1 布尔匹配 147
    • 3.8.2 短语查询 150
    • 3.8.3 索引统计 150
    • 3.8.4 相关性 152
    • 3.9 分析文本 155
    • 3.9.1 Analyzer 156
    • 3.9.2 TokenStream 162
    • 3.9.3 定制Tokenizer 164
    • 3.9.4 重用Tokenizer 166
    • 3.9.5 有限状态转换 167
    • 3.9.6 索引数值列 168
    • 3.9.7 检索结果排序 171
    • 3.9.8 处理价格 171
    • 3.10 Lucene中的压缩算法 172
    • 3.10.1 变长压缩 172
    • 3.10.2 Gamma 174
    • 3.10.3 PForDelta 176
    • 3.10.4 VSEncoding 178
    • 3.10.5 前缀压缩 179
    • 3.10.6 差分编码 180
    • 3.10.7 静态索引裁剪 182
    • 3.11 搜索中文 182
    • 3.11.1 Lucene切分原理 185
    • 3.11.2 Lucene中的Analyzer 186
    • 3.11.3 自己写Analyzer 188
    • 3.11.4 Lietu中文分词 191
    • 3.11.5 字词混合索引 191
    • 3.12 搜索英文 196
    • 3.12.1 英文分词 196
    • 3.12.2 词性标注 199
    • 3.12.3 原型化 201
    • 3.13 索引数据库中的文本 202
    • 3.14 优化使用Lucene 204
    • 3.14.1 系统优化 204
    • 3.14.2 查询优化 205
    • 3.14.3 实现时间加权排序 207
    • 3.14.4 词性标注 210
    • 3.14.5 个性化搜索 213
    • 3.15 实时搜索 213
    • 3.16 语义搜索 215
    • 3.16.1 发现同义词 215
    • 3.16.2 垂直领域同义词 219
    • 3.16.3 同义词扩展 219
    • 3.16.4 语义标注 225
    • 3.17 本章小结 225
    • 3.18 术语表 226
    • 第4章 搜索引擎用户界面 227
    • 4.1 实现Lucene搜索 228
    • 4.1.1 测试搜索功能 228
    • 4.1.2 加载索引 229
    • 4.2 搜索页面设计 231
    • 4.2.1 Struts2实现的搜索界面 232
    • 4.2.2 用于显示搜索结果的
    • Taglib 234
    • 4.2.3 实现翻页 235
    • 4.3 实现搜索接口 238
    • 4.3.1 编码识别 238
    • 4.3.2 布尔搜索 241
    • 4.3.3 指定范围搜索 241
    • 4.3.4 搜索结果排序 242
    • 4.3.5 索引缓存与更新 243
    • 4.4 实现分类统计视图 249
    • 4.4.1 单值列分类统计 255
    • 4.4.2 侧钻 256
    • 4.5 实现相似文档搜索 257
    • 4.6 实现AJAX搜索联想词 259
    • 4.6.1 估计查询词的文档频率 259
    • 4.6.2 搜索联想词总体结构 259
    • 4.6.3 服务器端处理 260
    • 4.6.4 浏览器端处理 265
    • 4.6.5 拼音提示 267
    • 4.6.6 部署总结 267
    • 4.7 推荐搜索词 268
    • 4.7.1 挖掘相关搜索词 268
    • 4.7.2 使用多线程计算相关
    • 搜索词 270
    • 4.8 查询意图理解 271
    • 4.8.1 拼音搜索 271
    • 4.8.2 无结果处理 272
    • 4.9 集成其他功能 272
    • 4.9.1 拼写检查 272
    • 4.9.2 分类统计 276
    • 4.9.3 相关搜索 281
    • 4.9.4 再次查找 284
    • 4.9.5 搜索日志 284
    • 4.10 查询分析 286
    • 4.10.1 历史搜索词记录 286
    • 4.10.2 日志信息过滤 286
    • 4.10.3 信息统计 287
    • 4.10.4 挖掘日志信息 289
    • 4.10.5 查询词意图分析 290
    • 4.11 部署网站 290
    • 4.11.1 部署到Web服务器 290
    • 4.11.2 防止攻击 292
    • 4.12 手机搜索界面 295
    • 4.13 本章小结 296

    上一篇:分布式机器学习:算法、理论与实践  下一篇:程序员炼成记:从小白到工程师

    展开 +

    收起 -

    分布式搜索 相关电子书
    关于分布式搜索的学习笔记
    网友NO.933367

    JS仿淘宝搜索框用户输入事件的实现

    淘宝是我们经常用的一个网上购物平台,打开淘宝网首页,找到淘宝首页的搜索框,如下如所示: 大家可以看到,当页面一打开,搜索框中就可以看到灰色字体“少女高跟鞋”,还有闪烁的光标。当用户点击输入的时候,灰色字消失。当用户清空文本框的所有内容的时候,灰色字自动恢复。 接下来,这个小案例就是要介绍如何实现这种效果,即用户输入事件。 判断用户输入的事件有 oninput 和onpropertychange 。当然,想必你能想到,由于浏览器兼容的问题,他们出现的场合有所不同。 正常浏览器支持oninput ,而 IE6、IE7、IE8 支持的 onpropertychange 。 为了节省时间,不再模仿淘宝CSS样式。 代码及解析 : !DOCTYPE htmlhtml lang="en"head meta charset="UTF-8" title判断用户输入事件第2遍oninput 和onpropertychange 的用法/title/head style .search { width:300px; height: 30px; margin: 100px auto; position: relative; } .search input { width:200px; height:25px; } .search label { font-size: 12px; color:#ccc; position: absolute; top:8px; left:10px; cursor: text; } /style script type="text/javascript" 业务逻辑分析:// 1.内容为空时,光标和默认字显示在搜索框。自动获取焦点// 2.当输入内容时,默认字消失。用oninput事件 window.onload = function () { function $(id){ return document.getElementById(id);} $("txt").focus();//自动获取光标方法 $("txt").……

    网友NO.441839

    Python实现的本地文件搜索功能示例【测试可用】

    本文实例讲述了Python实现的本地文件搜索功能。分享给大家供大家参考,具体如下: 偶尔需要搜索指定文件,不想每次都在windows下面去搜索,想用代码来实现搜索,而且能够收集搜索结果,于是有了下面的代码。 # -*- coding:utf-8 -*-#! python2import osdef search_file(fileNmae, path): '''search a file in target directory :param fileNmae: file to be searched :param path: search scope :return:file list ''' flag = False count = 0 result_list = [] if os.path.exists(path): for root, dirs, files in os.walk(path): for fn in files: Name = fn.decode('gbk') cu_path = root.encode('gbk')+"\\"+Name if Name.lower().find(fileNmae.lower()) != -1 and os.path.isfile(cu_path): print ":::Find it,file no", count+1, ":", cu_path flag = True count += 1 result_list.append(cu_path) if flag is False: print ":::Not found the file:", fileNmae, "in path:", path else: print "======== Get[", count, "]files ========" return result_list else: print "!!-----path not existed:", path#测试:search_file("4.jpg", "C:\\img") 运行结果: 更多Python相关内容感兴趣的读者可查看本站专题:《Python文件与目录操作技巧汇总》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》 希望本文所述对大家Python程序设计有所帮助。 ……

    网友NO.130349

    python实现一个搜索引擎(Pylucene)实例教程

    Document,文档类。在Pylucene中建立索引的基本单位是“文档”(Document),一个Document可能是一个网页、一篇文章、一封邮件。Document是用以构建索引的单位同时也是进行搜索时的结果单位,对它进行合理的设计能够提供个性化的搜索服务。 Filed,域类。一个Document之中可以包含多个域(Field)。Filed是Document的组成部分,就如一篇文章的组成可能是文章标题、文章主体、作者、发表日期等多个Filed。 将一个页面作为一个Document,包含三个Field分别是页面的URL地址(url)、页面的标题(title)、页面的主要文字内容(content)。对于索引的储存方式选择使用SimpleFSDirectory类,将索引保存至文件之中。分析器选择Pylucene自带的CJKAnalyzer,该分析器对中文支持较好,适用于中文内容的文本处理。 什么是搜索引擎? 搜索引擎是“对网络信息资源进行搜集整理并提供信息查询服务的系统,包括信息搜集、信息整理和用户查询三部分”。如图1是搜索引擎的一般结构,信息搜集模块从网络采集信息到网络信息库之中(一般使用爬虫);然后信息整理模块对采集的信息进行分词、去停用词、赋权重等操作后建立索引表(一般是倒排索引)构成索引库;最后用户查询模块就可以识别用户的检索需求并提供检索服务啦。 图1 搜索引擎的一般结构 2. 使用……

    网友NO.539151

    vue实现搜索功能

    本文实例为大家分享了vue实现搜索功能的具体代码,供大家参考,具体内容如下 methods (要有一定的触发条件才能执行,如点击事件) template div class="safetyInfo" input type="text" name="" id="" placeholder="搜索" v-model="search"/ button @click="btn"搜索/button ul v-for="list in searchData" li span{{list.name}}/span span{{list.date}}/span span{{list.depart}}/span /li /ul /div/template scriptexport default { name: 'HelloWorld', data () { return { search:'', searchData: '', products:[ //假数据 {name:"数据1",date:'2018-01-04',depart:'泸化工1'}, {name:"数据2",date:'2018-01-25',depart:'泸化工2'}, {name:"数据3",date:'2018-02-10',depart:'泸化工3'}, {name:"数据4",date:'2018-03-04',depart:'泸化工4'}, {name:"数据5",date:'2018-05-24',depart:'泸化工5'}, {name:"数据6",date:'2018-10-29',depart:'泸化工6'} ] } }, methods:{ btn:function(){ var search = this.search; if (search) { this.searchData = this.products.filter(function(product) { console.log(product) return Object.keys(product).some(function(key) { console.log(key) return String(product[key]).toLowerCase().indexOf(search) -1 }) }) } } }}/script computed (在HTML DOM加载后马上执行的,如赋值): !DOCTYPE htmlhtml lang="en"headmeta charset="UTF-8" titleDocument/titlescript src="https://unpkg.com/vue/dist/vue.js"/script/headbody div id="app"input v-model='search' /ul v-for="item in searchData "li{{item.name}},价格:¥{{item.price}}/li/ul/div script……

    Copyright 2018-2019 xz577.com 码农之家

    版权责任说明