Lucene+nutch搜索引擎开发(CD光盘一张)
分類: 图书,计算机与互联网,程序语言与软件开发,语言与开发工具,综合,
品牌: 王学松
基本信息·出版社:人民邮电出版社
·页码:452 页
·出版日期:2008年
·ISBN:7115182167/9787115182166
·条形码:9787115182166
·包装版本:1版
·装帧:平装
·开本:16
·正文语种:中文
·附带品描述:CD光盘一张
产品信息有问题吗?请帮我们更新产品信息。
内容简介《Lucene+nutch搜索引擎开发》以Lucene构建搜索引擎的开发过程为主线,由浅入深,循序渐进,为读者展示如何使用Lucene开发自己的搜索引擎系统。全书内容包括搜索引擎概述和原理、Lucene部署安装、Nutch网络蜘蛛与数据获取、Lucene索引建立、Lucene检索与查询、搜索结果排序、文档分析器与中文分词、格式化文本分析、分布式搜索与缓存等。为便于读者理解搜索引擎快速开发过程,《Lucene+nutch搜索引擎开发》最后几章进行了应用实例的讲解,包括Nutch构建专题搜索、Lucene构建企业级搜索实例以及相关的整体工程性能测试。
编辑推荐《Lucene+nutch搜索引擎开发》适合对搜索引擎开发有兴趣的读者阅读,包括搜索引擎开发的初学者、高等院校、信息专业学生、从事搜索开发的程序设计人员等。入门:引导读者快速掌握(Lucene和nutch的使用方法);揭秘:深度剖析搜索引擎内核;实战:手把手带您构建企业级搜索引擎;推荐:Web开发专家强烈推荐。
互联网搜索的使用水平可以反映全民的信息处理能力,几年前有研究发现美国用户比欧洲用户的互联网使用水平领先半年左右,主要是根据谁搜索时平均使用的关键词的个数多。中文用户的搜索使用水平相对于西文用户目前仍然处于比较初级的阶段,而中文网站搜索功能的缺失也是一个重要的因素。
网站拥有了较多内容后,最先会考虑基于目录的内容分类,以解决信息快速定位的问题,随着内容量的进一步增加,很多内容在发表之后就很快被湮没,成为“信息孤岛”,而不断加深的目录结构也会让用户逐渐失去耐心,这时,关键词检索的优势就体现出来了:
关键词检索可以让处于“信息孤岛”状态的内容以一种更直接的方法提供给用户;
和基于目录/分类的树形结构不同,基于关键词检索还可以让内容之间实现网状的关联结构,从而大大提高信息的引用密度。
基于传统数据库的关键词检索由于性能问题让很多网站放弃了搜索功能,问题的解决归根结底还是需要一个全文引擎。而Lucene开源引擎的出现让这种原来被少数公司掌握的技术得到了迅速的普及,这里应该再次感谢引擎的核心贡献者Doug Cutting先生,同时也希望有更多的中文开发人员能积极投入:到Lucene的相关项目开发中去,尤其在中文和其他亚洲双字节语言处理方面的问题。
Lucene也是我学习的第一个Java程序,当初是通过jdb一行行dubug了解其中的原理和机制的,非常高兴有这样一本专门的参考书出现,它无疑会为开发人员了解并更快掌握全文检索技术节省大量的时间。
国内资深搜索引擎开发专家车东(http://chedong.com)。
目录
第1篇入门篇
第1章搜索引擎概述
1.1什么是搜索引擎
1.1.1搜索引擎与信息检索
1.1.2搜索引擎的概念
1.1.3搜索引擎的使用
1.1.4搜索引擎发展历史
1.2搜索引擎分类
1.2.1按照工作方式分类
1.2.2按照领域范围分类
1.2.3信息类型分类
1.3主流搜索引擎
1.3.1全球著名搜索引擎
1.3.2中文搜索引擎的发展历史
1.3.3著名中文搜索引擎
1.3.4其他细化搜索引擎
1.4搜索引擎评价原则
1.4.1评价指标体系
1.4.2其他评测因素
1.5搜索引擎相关资源
1.5.1搜索引擎开源项目
1.5.2搜索引擎研究网站
1.5.3搜索论坛和厂商黑板报
1.6系统运行环境准备
1.6.1Java环境安装设置
1.6.2Tomcat服务器安装
1.6.3Eclipse开发环境准备
1.7未来搜索技术前瞻
1.7.1现状存在问题
1.7.2未来发展趋势
1.8小结
第2章搜索引擎原理探秘
2.1解密搜索引擎原理
2.1.1搜索引擎技术框架
2.1.2网页信息抓取技术
2.1.3网页内容分析技术
2.1.4网页索引建立技术
2.1.5用户检索与结果排序
2.1.6网页检索工具与接口
2.2网络爬虫简单实现
2.2.1网络蜘蛛功能需求
2.2.2网络蜘蛛实现原理
2.2.3网络爬虫系统结构
2.2.4网页采集程序设计
2.2.5网页采集程序实现
2.2.6程序实现存储扩展
2.3网页分析程序实现
2.3.1网页分析功能需求
2.3.2网页分析实现原理
2.3.3网页分析系统结构
2.3.4网页分析程序设计
2.3.5文本语素分割与过滤
2.4网页索引程序实现
2.4.1网页索引功能需求
2.4.2网页索引实现原理
2.4.3网页索引程序设计
2.4.4网页索引程序实现
2.5检索程序实现
2.5.1检索功能需求
2.5.2检索实现原理
2.5.3检索程序设计
2.5.4网页检索程序实现
2.6简单搜索引擎系统
2.7小结
第3章开源搜索引擎入门
3.1开源搜索引擎简介
3.1.1Lucene系统概述
3.1.2Nutch概述
3.2Lucene全文检索系统部署
3.2.1下载Lucene系统
3.2.2Lucene部署配置
3.2.3Lucene测试运行
3.3Lucene开发实例入门
3.3.1Lucene实例功能
3.3.2Lucene开发实例
3.3.3代码实例解析
3.4Nutch开源搜索引擎部署
3.4.1Cygwin软件安装
3.4.2Nutch下载与安装
3.4.3Nutch系统环境测试
3.4.4Nutch搜索页面部署
3.5Nutch系统调试与开发
3.5.1Eclipse中加载Nutch
3.5.2Nutch工程编译与发布
3.6小结
第2篇内核揭秘篇
第4章搜索引擎数据获取
4.1网络蜘蛛原理
4.1.1体系结构设计
4.1.2访问策略与算法
4.1.3效率优化与更新
4.1.4蜘蛛访问规范
4.1.5开源蜘蛛简介
4.2Nutch网络蜘蛛
4.2.1Nutch网络蜘蛛概述
4.2.2Nutch抓取模式分类
4.2.3抓取测试站点建立
4.3Nutch局域网抓取
4.3.1本地下载准备
4.3.2启动下载过程
4.3.3下载过程解析
4.3.4下载多个网站
4.4Nutch互联网抓取
4.4.1下载列表获取
4.4.2下载大量网站
4.5Nutch抓取比较
4.6Nutch结果检测
4.6.1网页内容检索
4.6.2使用Readdb获取摘要
4.6.3使用SegRead读取分段
4.6.4Luke工具使用
4.7Nutch配置文件解析
4.8Heritrix网络蜘蛛
4.8.1Heritrix概述
4.8.2Heritrix体系结构
4.8.3Heritrix安装与使用
4.9小结
第5章搜索引擎信息索引
5.1文档索引原理
5.1.1索引概述
5.1.2索引基本结构
5.1.3倒排索引原理
5.1.4索引分类
5.1.5高性能索引
5.2Lucene索引器
5.2.1Lucene索引介绍
5.2.2Lucene索引结构
5.2.3多文件索引结构
5.2.4复合索引结构
5.3Lucene索引实例
5.3.1索引创建代码解析
5.3.2索引创建器(IndexWriter)
5.3.3索引管理器(IndexReader)
5.3.4索引修改器(IndexModifier)
5.3.5索引分析器(Analyzer)
5.4Lucene索引操作
5.4.1添加文本文件索引
5.4.2创建Lucene增量索引
5.4.3使用索引项删除文档
5.4.4使用编号删除文档
5.4.5压缩文档编号
5.4.6索引文档更新
5.5Lucene索引高级特性
5.5.1选择索引域类型
5.5.2索引参数优化
5.5.3使用磁盘索引
5.5.4使用内存索引
5.5.5同步与锁机制
5.6Lucene高级应用实例
5.6.1创建本地搜索的索引
5.6.2索引数据库记录
5.6.3索引优化与合并
5.7Nutch中的Lucene索引
5.8小结
第6章搜索引擎查询处理
6.1信息查询原理
6.1.1信息查询概述
6.1.2查询基本流程
6.1.3查询结果显示
6.1.4高性能查询
6.2Lucene查询概述
6.2.1Lucene查询操作基础
6.2.2Lucene查询实例入门
6.2.3查询工具IndexSearcher类
6.2.4查询封装Query类
6.2.5查询分析器QueryParser类
6.2.6查询结果集Hits类
6.3Lucene基本查询
6.3.1Lucene查询Query对象
6.3.2最小项查询TermQuery
6.3.3区间范围搜索RangeQuery
6.3.4逻1/4组合搜索BooleanQuery
6.3.5字串前缀搜索PrefixQuery
6.3.6短语搜索PhraseQuery
6.3.7模糊搜索FuzzyQuery
6.3.8通配符搜索WildcardQuery
6.3.9位置跨度搜索SpanQuery
6.4Lucene高级查询
6.4.1索引内存检索
6.4.2多关键字跨域检索
6.4.3多检索器跨索引检索
6.5Nutch中的Lucene查询
6.6小结
第7章搜索引擎结果排序
7.1搜索引擎文档排序原理
7.1.1传统检索排序技术
7.1.2向量模型排序局限
7.1.3搜索引擎相关性排序
7.1.4链接分析PageRank原理
7.1.5搜索引擎排序流程
7.2Lucene检索排序
7.2.1Lucene相关性因素
7.2.2Lucene相关排序流程
7.2.3Lucene排序计算体系
7.2.4Lucene排序控制方法
7.3文档Boost加权排序
7.3.1Lucene中Boost介绍
7.3.2Boost值全文档排序
7.3.3Boost值文档域排序
7.3.4BoostingTermQuery排序
7.4Sort对象检索排序
7.4.1Sort对象概述
7.4.2Sort对象相关性排序
7.4.3Sort对象文档编号排序
7.4.4Sort对象独立域排序
7.4.5Sort对象联合域排序
7.4.6Sort对象逆向排序
7.5Lucene相关性公式
7.5.1Lucene评分结果分析
7.5.2Lucene排序公式
7.5.3其他动态排序因子
7.6Lucene自定义排序
7.6.1自定义排序比较接口
7.6.2自定义排序接口类实例
7.6.3自定义排序结果测试实例
7.6.4自定义排序测试结果
7.7Nutch中的结果排序
7.7.1Nutch排序因素
7.7.2Nutch链接分析
7.7.3Nutch相关度计算
7.8小结
第8章文档分析器与中文分词
8.1文档分析与中文分词原理
8.1.1文档分析预处理概述
8.1.2文档分析基本流程
8.1.3中文分析处理中的分词
8.2Lucene分析器内核原理
8.2.1Lucene分析器原理
8.2.2Analysis包简介
8.2.3Analyzer类的组合结构
8.2.4JavaCC构造分析器
8.2.5StopAnalyzer内核代码分析
8.2.6StandardAnalyzer内核代码分析
8.3Lucene分析器应用模式
8.3.1使用默认分析器建立索引
8.3.2使用多种分析器建立索引
8.3.3使用分析器检索查询
8.4Lucene主要分析器应用实例
8.4.1停用词分析器StopAnalyzer
8.4.2标准分析器StandardAnalyzer
8.4.3简单分析器SimpleAnalyzer
8.4.4空格分析器WhitespaceAnalyzer
8.4.5关键字分析器KeywordAnalyzer
8.5TokenStream分词器内核分析
8.5.1Tokenizer分词器
8.5.2标准分词器StandardTokenizer
8.5.3字符分词器CharTokenizer
8.5.4空格分词器WhiteSpaceTokenizer
8.5.5字母分词器LetterTokenizer
8.5.6小写分词器LowerCaseTokenizer
8.6TokenStream过滤器内核分析
8.6.1TokenFilter过滤器
8.6.2标准过滤器StandardFilter
8.6.3停用词过滤器StopFilter
8.6.4小写过滤器LowerCaseFilter
8.6.5长度过滤器LengthFilter
8.6.6词干过滤器PorterStemFilter
8.7Lucene中文分词
8.7.1中文分词基本原理方法
8.7.2StandardAnalyzer分析器中文处理
8.7.3CJKAnalyzer中文分析器
8.7.4ChineseAnalyzer中文分析器
8.7.5IK_CAnalyzer中文分析器
8.7.6中科院ICTCLAS中文分词
8.7.7JE中文分词
8.7.8中文分词问题
8.8Nutch分词和预处理
8.8.1Nutch分析器
8.8.2Nutch中文分词
8.9小结
第9章搜索引擎文本分析
9.1非结构化文本简介
9.1.1非结构化文本概述
9.1.2非结构化文本检索
9.2HTML文档分析
9.2.1主流HTML文档分析器
9.2.2HTMLParser安装配置
9.2.3HTMLParser的框架结构
9.3HTMLParser应用实例
9.3.1HTMLParser功能模式
9.3.2HTMLParser内容解析方式
9.3.3Visitor模式正文解析
9.3.4Filter模式简单链接提取
9.3.5Filter模式搜索链接提取
9.3.6Lexer模式遍历文档
9.4PDF文档分析
9.4.1常用的PDF处理包
9.4.2PDFBox安装配置
9.5PDFBox应用实例
9.5.1PDFBox提取文档内容
9.5.2PDFBox文档内容索引
9.6Office文档分析
9.6.1常用Office文档处理包
9.6.2使用POI安装与配置
9.6.3POI原理与接口介绍
9.7POI分析Office文档实例
9.7.1POI处理Excel文档
9.7.2POI处理Word文档
9.8XML文档分析
9.8.1主流XML文档分析器
9.8.2JDOM分析器安装配置
9.8.3xerces分析器安装配置
9.9XML解析应用实例
9.9.1使用JDOM分析XML 文档
9.9.2使用xerces分析XML 文档
9.10Nutch文档处理
9.11小结
第10章分布式搜索与缓存
10.1分布式检索与缓存
10.1.1分布式搜索引擎现状
10.1.2分布式搜索引擎原理
10.1.3搜索引擎缓存现状
10.1.4搜索引擎缓存原理
10.2Nutch与分布式检索
10.2.1Google分布式文件系统
10.2.2MapReduce系统介绍
10.2.3Hadoop分布式文件系统
10.2.4Nutch分布式文件系统
10.2.5Nutch分布式检索概述
10.2.6Nutch分布式检索器
10.3Lucene分布式检索
10.3.1Socket通信基础
10.3.2Lucene索引服务器
10.4Nutch与搜索缓存
10.5开源系统缓存系统
10.6小结
第3篇实战篇
第11章Nutch专题搜索引擎实例
11.1专题搜索需求分析
11.1.1专题搜索功能需求
11.1.2专题搜索用例分析
11.2构建Nutch基础搜索引擎
11.2.1Nutch搜索功能分析
11.2.2信息下载功能测试
11.2.3Nutch基础Web检索
11.2.4Web用户页面修改
11.3专题搜索系统设计
11.3.1系统框架设计
11.3.2选择开发工具组件
11.4专题关键词管理
11.4.1专题关键词策略
11.4.2关键词存储设计
11.4.3关键词管理程序
11.5专题资源发现
11.5.1专题网页链接发现
11.5.2专题资源网站提取
11.6专题信息下载
11.6.1批量信息下载
11.6.2信息自动下载
11.7专题信息分析与索引
11.7.1网页信息分析
11.7.2创建索引
11.8检索辅助功能
11.8.1相关词推荐
11.8.2检索词高亮显示
11.8.3检索结果翻页
11.9小结
第12章Lucene实现企业搜索实例
12.1企业搜索需求分析
12.1.1企业搜索需求概述
12.1.2企业搜索用例分析
12.2企业级搜索系统设计
12.2.1系统框架设计
12.2.2Lucene检索框架
12.3企业级搜索系统设计
12.3.1创建Lucene工程
12.3.2全文检索索引生成
12.3.3全文检索检索页面
12.4数据引擎设计
12.4.1数据库数据管理
12.4.2非结构化文档
12.5企业信息索引
12.5.1数据索引建立
12.5.2信息检索代码
12.5.3检索Web代码
12.5.4检索结果测试
12.6小结
……[看更多目录]
文摘第1篇入门篇
第1章搜索引擎概述
1.1什么是搜索引擎
搜索引擎是一款特别的软件系统,能够从互联网上自动搜集信息,并为用户提供查询服务。搜索引擎对原始文档进行了一系列的整理和处理。用户的查询结果是搜索引擎按照某种规则计算获得的。搜索引擎为网民提供了资源查找和导航的有效手段。
1.1.1 搜索引擎与信息检索
搜索引擎并不是一个完全创新的系统,而是借鉴了以往全文检索系统和网络软件系统开发而成的。搜索引擎采用了以往产品的很多技术和思路,尤其是继承了很多信息检索系统的技术和方法。互联网搜索引擎在继承历史技术的同时,针对互联网信息处理的特点,开发出了互联网信息查找工具。
……