搜索引擎零距离——基于Ruby+Java搜索引擎原理与实现

分类: 图书,计算机/网络,程序设计,Java Java Script J2EE,
作者: 王亮编著
出 版 社: 清华大学出版社
出版时间: 2009-6-1字数:版次: 1页数: 394印刷时间:开本: 16开印次:纸张:I S B N : 9787302201472包装: 平装编辑推荐
本书特色:
国内垂直搜引擎的扛鼎之作;
集开源搜索引擎之大成,融会贯通,自成一体;
无线搜索引擎核心技术零距离接触;
Web信息挖掘专用程序设计语言,语法标准首次发布;
垂直爬虫专业并行虚拟机核心技术展示;
多年商业搜索引擎开发运营经验之提炼总结;
真实的中型分布式搜索引擎开发案例全景展现;
最新Java前沿技术在经典计算机理论上的优秀应用;
专业信息检索理论与商业搜索需求的完美结合;
Java软件工程设计模式最佳实践。
内容简介
随着网络信息资源的急剧增长,人们越来越多地关注如何快速有效地从海量的网络信息中,抽取出潜在的、有价值的信息,使之有效地在管理和决策中发挥作用。搜索引擎技术解决了用户检索网络信息的困难,目前搜索引擎技术正成为计算机科学界和信息产业界争相研究、开发的对象。
本书的作者是一位资深的搜索引擎开发人员,书中对数据获取(网络信息挖掘)与数据检索(搜索引擎)两个方面作了深入的介绍。本书首先提出了一套“网络数据挖掘”的完整理论,并给出一个实际的智能爬虫系统,通过理论与实际的完整呈现,使读者能够对“网络数据挖掘”有一个比较具体的认识,然后介绍了一个专用程序语言IRS,并给出了这个语言的编译器以及虚拟机的实现方法。本书还通过对多个开源搜索引擎项目抽丝剥茧的细致分析,引出搜索引擎的一些基本原理与开发方法,并介绍了一个商业化搜索引擎的实例。本书的最后还结合一个Java框架介绍了一些软件设计思想。
本书涉及网络数据挖掘、搜索引擎原理、编译原理、数据库原理、正则表达式、软件工程、设计模式、Ruby语言、HTTP协议等计算机科学与技术的知识,适合搜索引擎开发人员作为参考,也适合有一定计算机基础的读者阅读,以扩展视野。
本书的内容中,既有教科书式的理论阐述,也有“七天入门”式的实例解析,还有《Linux内核情景分析》风格的细致的代码分析,甚至还有一些英语文献翻译,从初学者到有一定经验的搜索引擎开发人员,各个层次的读者都能找到一些适合自己阅读的章节。
作者简介
王亮,主持或参与过多个大中型索引擎开发与运营,具有丰富的搜索引擎算法理论知识与实际开发运营经验。曾任职于爱立信、Smarter.com、上海网村、上海迈众,2009年创立上海睿驿信息技术有限公司并任CEO,致力于提供搜索引擎相关的产品和服务。
目录
第1章网页数据挖掘
1.1 网页数据挖掘定义
1.2Web数据挖掘面临的问题
1.3Web数据挖掘的分类
1.4网页数据的结构与特点
1.4.1HTML超文本标记语言
1.4.2WML无线标记语言
1.5网页数据挖掘的基本方法
1.5.1 预备知识
1.5.2变量模板匹配方法
1.5.3树节点直接标识方法
1.5.4语义规则识别方法
第2章智能网络爬虫
2.1 智能网络爬虫的定义与特点
2.2抓取入口定义
2.3次级页面自动发现
2.4次级页面地址拼接
2.5 已爬地址处理
2.6信息采集强度控制
2.7模拟用户登录
2.8验证码识别
2.9代理服务器设置
2.10JavaScript解析控制
第3章网页信息挖掘专用程序设计语言IRS
3.1IRS语言的简介与设计原则
3.2IRS脚本语法结构
3.2.1页面配置块
3.2.2页面名语句
3.2.3爬虫配置声明语句
3.2.4入口声明语句
3.2.5编码配置
3.2.6步长配置
3.2.7重试次数配置
3.2.8正则模式匹配语句
3.2.9匹配名声明
3.2.10IEE表达式
3.2.11模式匹配修饰符
3.2.12节点模式匹配语句
3.2.13 次级页面入口语句
3.2.14保存语句
3.2.15Ruby控制语句
3.2.16爬虫配置语句
3.2.17系统配置语句
3.2.18外部配置文件
3.2.19执行语句块
3.2.20IRQL存储语句
3.2.21IRQL语言中的数据表
3.2.22IRQL内部函数
3.2.23 实例解析
第4章IRS虚拟机及编译器实现原理
4.1Ruby基本语法
4.1.1字句构造和表达式
……
第5章搜索引擎设计原理
第6章搜索引擎的商业化实现
第7章Hivemind
后记与感谢
书摘插图
第1章 网页数据挖掘
1.1 网页数据挖掘定义
数据挖掘(Data Minin9,DM),是从存放在数据库、数据仓库或其他信息库中的大量数据中提取或“挖掘”有趣知识的过程。随着网络的不断发展,因特网目前已成为一个巨大的、分布广泛的和全球性的信息服务中心。从海量的网络信息中寻找有用的知识,早已成为人们的迫切需求。各种类似Google、Baidu等的搜索引擎也层出不穷,Web数据挖掘的应用在现实中不断体现。
Web数据挖掘建立在对大量的网络数据进行分析的基础上,采用相应的数据挖掘算法,在具体的应用模型上进行数据的提取、数据筛选、数据转换、数据挖掘和模式分析,最后做出归纳性的推理、预测客户的个性化行为以及用户习惯,从而帮助决策和管理,减少决策的风险。
Web数据挖掘涉及多个领域,除数据挖掘外,还涉及计算机网络、数据库与数据仓储、人工智能、信息检索、可视化、自然语言理解等技术。
1.2 Web数据挖掘面临的问题
Web的巨大、分布广泛和内容多样使得目前的Web数据挖掘面临着众多问题和挑战。首先,对有效的数据仓库和数据挖掘来说,Web上的数据过于庞大。而且,Web上的数据具有极强的动态性,不仅数量增长快而且更新十分迅速。但是面对如此大量的Web信息,却有调查表明:99%的Web信息对于99%的用户是无用的。这样看来,面对网络上形形色色的用户群体,许多由Web搜索引擎所检索到的资料将会被淹没。
……