书籍详情
搜索引擎零距离:基于Ruby+Java搜索引擎原理与实现
作者:王亮 编著
出版社:清华大学出版社
出版时间:2009-06-01
ISBN:9787302201472
定价:¥39.80
购买这本书可以去
内容简介
《搜索引擎零距离:基于Ruby+Java搜索引擎原理与实现》的内容中,既有教科书式的理论阐述,也有“七天入门”式的实例解析,还有《Linux内核情景分析》风格的细致的代码分析,甚至还有一些英语文献翻译,从初学者到有一定经验的搜索引擎开发人员,各个层次的读者都能找到一些适合自己阅读的章节。随着网络信息资源的急剧增长,人们越来越多地关注如何快速有效地从海量的网络信息中,抽取出潜在的、有价值的信息,使之有效地在管理和决策中发挥作用。搜索引擎技术解决了用户检索网络信息的困难,目前搜索引擎技术正成为计算机科学界和信息产业界争相研究、开发的对象。《搜索引擎零距离:基于Ruby+Java搜索引擎原理与实现》的作者是一位资深的搜索引擎开发人员,书中对数据获取(网络信息挖掘)与数据检索(搜索引擎)两个方面作了深入的介绍。《搜索引擎零距离:基于Ruby+Java搜索引擎原理与实现》首先提出了一套“网络数据挖掘”的完整理论,并给出一个实际的智能爬虫系统,通过理论与实际的完整呈现,使读者能够对“网络数据挖掘”有一个比较具体的认识,然后介绍了一个专用程序语言IRS,并给出了这个语言的编译器以及虚拟机的实现方法。《搜索引擎零距离:基于Ruby+Java搜索引擎原理与实现》还通过对多个开源搜索引擎项目抽丝剥茧的细致分析,引出搜索引擎的一些基本原理与开发方法,并介绍了一个商业化搜索引擎的实例。《搜索引擎零距离:基于Ruby+Java搜索引擎原理与实现》的最后还结合一个Java框架介绍了一些软件设计思想。《搜索引擎零距离:基于Ruby+Java搜索引擎原理与实现》涉及网络数据挖掘、搜索引擎原理、编译原理、数据库原理、正则表达式、软件工程、设计模式、Ruby语言、HTTP协议等计算机科学与技术的知识,适合搜索引擎开发人员作为参考,也适合有一定计算机基础的读者阅读,以扩展视野。
作者简介
王亮,主持或参与过多个大中型索引擎开发与运营,具有丰富的搜索引擎算法理论知识与实际开发运营经验。曾任职于爱立信、Smarter.com、上海网村、上海迈众,2009年创立上海睿驿信息技术有限公司并任CEO,致力于提供搜索引擎相关的产品和服务。
目录
第1章 网页数据挖掘.1
1.1 网页数据挖掘定义1
1.2 Web数据挖掘面临的问题1
1.3 Web数据挖掘的分类1
1.4 网页数据的结构与特点3
1.4.1 HTML超文本标记语言3
1.4.2 WML无线标记语言4
1.5 网页数据挖掘的基本方法6
1.5.1 预备知识7
1.5.2 变量模板匹配方法8
1.5.3 树节点直接标识方法10
1.5.4 语义规则识别方法13
第2章 智能网络爬虫14
2.1 智能网络爬虫的定义与特点14
2.2 抓取入口定义14
2.3 次级页面自动发现14
2.4 次级页面地址拼接16
2.5 已爬地址处理17
2.6 信息采集强度控制19
2.7 模拟用户登录19
2.8 验证码识别20
2.9 代理服务器设置20
2.10 JavaScript解析控制21
第3章 网页信息挖掘专用程序设计语言IRS23
3.1 IRS语言的简介与设计原则23
3.2 IRS脚本语法结构23
3.2.1 页面配置块23
3.2.2 页面名语句23
3.2.3 爬虫配置声明语句24
3.2.4 入口声明语句24
3.2.5 编码配置26
3.2.6 步长配置26
3.2.7 重试次数配置27
3.2.8 正则模式匹配语句27
3.2.9 匹配名声明28
3.2.10 IEE表达式28
3.2.11 模式匹配修饰符29
3.2.12 节点模式匹配语句32
3.2.13 次级页面入口语句..3 3
3.2.14 保存语句35
3.2.15 Ruby控制语句35
3.2.16 爬虫配置语句37
3.2.17 系统配置语句37
3.2.18 外部配置文件38
3.2.19 执行语句块39
3.2.20 IRQL存储语句40
3.2.21 IRQL语言中的数据表44
3.2.22 IRQL内部函数49
3.2.23 实例解析55
第4章 IRS虚拟机及编译器实现原理69
4.1 Ruby基本语法70
4.1.1 字句构造和表达式70
4.1.2 字面值71
4.1.3 控制结构74
4.1.4 类和方法的定义80
4.1.5 运算符表达式84
4.1.6 变量和常量89
4.1.7 方法调用91
4.2 Java与JRuby的整合93
4.2.1 Java中的Ruby运行库环境93
4.2.2 IRSReflectionCallback类实现94
4.2.3 在Java中编译执行Ruby脚本99
4.2.4 Java内嵌Ruby
方法总结100
4.3 词法分析和语法分析101
4.3.1 定义与简介101
4.3.2 SableCC103
4.4 IRS语言的语义分析137
4.5 IRVM虚拟机主类146
4.5.1 generateEntrance()147
4.5.2 getContent()149
4.5.3 match()160
4.5.4 Save()174
4.5.5 compileAndRun()198
第5章 搜索引擎设计原理200
5.1 概述200
5.2 Lucene搜索引擎的原理205
5.2.1 工作方式205
5.2.2 基本概念206
5.2.3 包结构207
5.2.4 索引操作208
5.2.5 搜索210
5.2.6 分析器214
5.2.7 性能优化215
5.2.8 并行集群216
5.3 Hadoop搜索引擎的原理220
5.3.1 组成结构220
5.3.2 开发与使用222
5.4 Nutch搜索引擎的原理226
5.4.1 简介226
5.4.2 插件体系226
5.4.3 数据获取与分析228
5.5 Compass搜索引擎的原理264
5.5.1 功能增强264
5.5.2 API简化265
5.5.3 编程方式265
5.6 Solr搜索引擎的原理266
5.6.1 概述266
5.6.2 使用Solr269
第6章 搜索引擎的商业化实现275
6.1 索引275
6.1.1 Solr实现275
6.1.2 MySE实现279
6.1.3 总结317
6.2 查询317
6.2.1 Solr实现317
6.2.2 MySE实现318
6.2.3 总结358
第7章 Hivemind359
7.1 模块(Modules)359
7.2 子模块与依赖性(SubModules&Dependency)360
7.3 服务点(ServicePoints)361
7.4 拦截器(Interceptor)362
7.5 配置点(ConfigurationPoints)363
7.6 符号资源(SymbolSources)364
7.7 转换器(Translators)365
7.8 对象提供器(ObjectProviders)368
7.9 服务模型(ServiceModels)370
7.10 启动&预加载(Startup&EagerLoad)373
7.11 服务构造器376
后记与感谢393
1.1 网页数据挖掘定义1
1.2 Web数据挖掘面临的问题1
1.3 Web数据挖掘的分类1
1.4 网页数据的结构与特点3
1.4.1 HTML超文本标记语言3
1.4.2 WML无线标记语言4
1.5 网页数据挖掘的基本方法6
1.5.1 预备知识7
1.5.2 变量模板匹配方法8
1.5.3 树节点直接标识方法10
1.5.4 语义规则识别方法13
第2章 智能网络爬虫14
2.1 智能网络爬虫的定义与特点14
2.2 抓取入口定义14
2.3 次级页面自动发现14
2.4 次级页面地址拼接16
2.5 已爬地址处理17
2.6 信息采集强度控制19
2.7 模拟用户登录19
2.8 验证码识别20
2.9 代理服务器设置20
2.10 JavaScript解析控制21
第3章 网页信息挖掘专用程序设计语言IRS23
3.1 IRS语言的简介与设计原则23
3.2 IRS脚本语法结构23
3.2.1 页面配置块23
3.2.2 页面名语句23
3.2.3 爬虫配置声明语句24
3.2.4 入口声明语句24
3.2.5 编码配置26
3.2.6 步长配置26
3.2.7 重试次数配置27
3.2.8 正则模式匹配语句27
3.2.9 匹配名声明28
3.2.10 IEE表达式28
3.2.11 模式匹配修饰符29
3.2.12 节点模式匹配语句32
3.2.13 次级页面入口语句..3 3
3.2.14 保存语句35
3.2.15 Ruby控制语句35
3.2.16 爬虫配置语句37
3.2.17 系统配置语句37
3.2.18 外部配置文件38
3.2.19 执行语句块39
3.2.20 IRQL存储语句40
3.2.21 IRQL语言中的数据表44
3.2.22 IRQL内部函数49
3.2.23 实例解析55
第4章 IRS虚拟机及编译器实现原理69
4.1 Ruby基本语法70
4.1.1 字句构造和表达式70
4.1.2 字面值71
4.1.3 控制结构74
4.1.4 类和方法的定义80
4.1.5 运算符表达式84
4.1.6 变量和常量89
4.1.7 方法调用91
4.2 Java与JRuby的整合93
4.2.1 Java中的Ruby运行库环境93
4.2.2 IRSReflectionCallback类实现94
4.2.3 在Java中编译执行Ruby脚本99
4.2.4 Java内嵌Ruby
方法总结100
4.3 词法分析和语法分析101
4.3.1 定义与简介101
4.3.2 SableCC103
4.4 IRS语言的语义分析137
4.5 IRVM虚拟机主类146
4.5.1 generateEntrance()147
4.5.2 getContent()149
4.5.3 match()160
4.5.4 Save()174
4.5.5 compileAndRun()198
第5章 搜索引擎设计原理200
5.1 概述200
5.2 Lucene搜索引擎的原理205
5.2.1 工作方式205
5.2.2 基本概念206
5.2.3 包结构207
5.2.4 索引操作208
5.2.5 搜索210
5.2.6 分析器214
5.2.7 性能优化215
5.2.8 并行集群216
5.3 Hadoop搜索引擎的原理220
5.3.1 组成结构220
5.3.2 开发与使用222
5.4 Nutch搜索引擎的原理226
5.4.1 简介226
5.4.2 插件体系226
5.4.3 数据获取与分析228
5.5 Compass搜索引擎的原理264
5.5.1 功能增强264
5.5.2 API简化265
5.5.3 编程方式265
5.6 Solr搜索引擎的原理266
5.6.1 概述266
5.6.2 使用Solr269
第6章 搜索引擎的商业化实现275
6.1 索引275
6.1.1 Solr实现275
6.1.2 MySE实现279
6.1.3 总结317
6.2 查询317
6.2.1 Solr实现317
6.2.2 MySE实现318
6.2.3 总结358
第7章 Hivemind359
7.1 模块(Modules)359
7.2 子模块与依赖性(SubModules&Dependency)360
7.3 服务点(ServicePoints)361
7.4 拦截器(Interceptor)362
7.5 配置点(ConfigurationPoints)363
7.6 符号资源(SymbolSources)364
7.7 转换器(Translators)365
7.8 对象提供器(ObjectProviders)368
7.9 服务模型(ServiceModels)370
7.10 启动&预加载(Startup&EagerLoad)373
7.11 服务构造器376
后记与感谢393
猜您喜欢