标题：搜索引擎零距离：基于Ruby+Java搜索引擎原理与实现
基本信息
作者： 王亮  基于Ruby+Java搜索引擎原理与实现出版社：清华大学出版社
ISBN：9787302201472
上架时间：2009-6-4
出版日期：2009 年6月
开本：16开
页码：394
版次：1-1
内容简介
随着网络信息资源的急剧增长，人们越来越多地关注如何快速有效地从海量的网络信息中，抽取出潜在的、有价值的信息，使之有效地在管理和决策中发挥作用。搜索引擎技术解决了用户检索网络信息的困难，目前搜索引擎技术正成为计算机科学界和信息产业界争相研究、开发的对象。.
本书的作者是一位资深的搜索引擎开发人员，书中对数据获取(网络信息挖掘)与数据检索(搜索引擎)两个方面作了深入的介绍。本书首先提出了一套“网络数据挖掘”的完整理论，并给出一个实际的智能爬虫系统，通过理论与实际的完整呈现，使读者能够对“网络数据挖掘”有一个比较具体的认识，然后介绍了一个专用程序语言irs，并给出了这个语言的编译器以及虚拟机的实现方法。本书还通过对多个开源搜索引擎项目抽丝剥茧的细致分析，引出搜索引擎的一些基本原理与开发方法，并介绍了一个商业化搜索引擎的实例。本书的最后还结合一个java框架介绍了一些软件设计思想。..
本书涉及网络数据挖掘、搜索引擎原理、编译原理、数据库原理、正则表达式、软件工程、设计模式、ruby语言、http协议等计算机科学与技术的知识，适合搜索引擎开发人员作为参考，也适合有一定计算机基础的读者阅读，以扩展视野。
本书的内容中，既有教科书式的理论阐述，也有“七天入门”式的实例解析，还有《linux内核情景分析》风格的细致的代码分析，甚至还有一些英语文献翻译，从初学者到有一定经验的搜索引擎开发人员，各个层次的读者都能找到一些适合自己阅读的章节。...
目录
第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章  网页信息挖掘专用程序设计语言irs        23
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  次级页面入口语句..        33
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  sablecc        103
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  使用solr        269
第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章  hivemind        359
7.1  模块(modules)        359
7.2  子模块与依赖性(sub modules & 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