分享
 
 
 

开发自己的搜索引擎:Lucene 2.0+Heritrix(附盘)

开发自己的搜索引擎:Lucene 2.0+Heritrix(附盘)  点此进入淘宝搜索页搜索
  特别声明:本站仅为商品信息简介,并不出售商品,您可点击文中链接进入淘宝网搜索页搜索该商品,有任何问题请与具体淘宝商家联系。
  參考價格: 点此进入淘宝搜索页搜索
  分類: 图书,计算机与互联网,程序语言与软件开发,搜索引擎,
  品牌: 邱哲

基本信息·出版社:人民邮电出版社

·页码:521 页

·出版日期:2007年

·ISBN:7115160007

·条形码:9787115160003

·包装版本:第1版

·装帧:平装

·开本:0开

·正文语种:中文

产品信息有问题吗?请帮我们更新产品信息。

内容简介《开发自己的搜索引擎:Lucene 2.0+Heritrix》是一本针对搜索引擎开发的书籍。通过学习本书,读者可以独立构建出一个企业级的搜索引擎网站。本书详细讲解了搜索引擎与信息检索基础,Lucene入门实例,Lucene索引的建立,使用Lucene进行搜索,排序,过滤和分页,Lucene的分析器,对Word、Excel和PDF格式文档的处理,Compass搜索引擎框架,Lucene分布式和Google Search API,爬虫Heritrix,HTMLParser,DWR等内容。最后综合使用所讲述的技术,构建了一个典型的垂直搜索系统,该系统具有很强的商业实用价值。

全书共分为14章,内容包括搜索引擎与信息检索基础,Lucene入门实例,Lucene索引的建立,使用Lucene构建搜索,Lucene的排序,Lucene的分析器,对Word、Excel和PDF格式文档的解析,Compass搜索引擎框架,Lucene分布式和Google Search API,爬虫Heritrix,综合实例之准备篇,综合实例之HTMLParser篇,综合实例之DWR篇,综合实例之Web编。

《开发自己的搜索引擎:Lucene 2.0+Heritrix》是一本介绍如何使用Lucene 2.0和Heritrix来构建搜索引擎的书。通过对相关API和源代码的分析,力求使读者在掌握应用的基础上能够深入其核心,自行扩展和开发相应组件,开发出更有创意的搜索引擎产品。

作者简介邱哲,北京理工大学硕士,现为某公司技术经理,主要从事欧美软件外包开发。在J2EE方面有4年的开发经验,在搜索引擎与“爬虫”方面有3年的开发经验,著有《征服Ajax+Lucene构建搜索引擎》一书。

编辑推荐《开发自己的搜索引擎:Lucene 2.0+Heritrix》参加人邮社买书送礼活动,数量有限赶快抢购!详情请点击

第一本讲解如何使用Lucene和Heritrix来构建搜索引擎的书

一步一步带领您亲手构建企业级搜索引擎网站

国内资深搜索引擎开发专家车东推荐

配有一个完整的搜索引擎案例。这个案例有很强的实用价值,只需稍加修改,就能应用于实际项目,市场价值在30000元以上!

Google技术经理车东推荐

国内第一本详细介绍搜索引擎开发过程的图书

采用最新的Lucene 2.0

互联网搜索的使用水平可以反映全民的信息处理能力,几年前有研究发现美国用户比欧洲用户的互联网使用水平领先半年左右,主要是根据谁搜索时平均使用的关键词的个数多。中文用户的搜索使用水平相对于西文用户目前仍然处于比较初级的阶段,而中文网站搜索功能的缺失也是一个重要的因素。

网站拥有了较多内容后,最先会考虑基于目录的内容分类,以解决信息快速定位的问题,随着内容量的进一步增加,很多内容在发表之后就很快被湮没,成为“信息孤岛”,而不断加深的目录结构也会让用户逐渐失去耐心,这时,关键词检索的优势就体现出来了:

关键词检索可以让处于“信息孤岛”状态的内容以一种更直接的方法提供给用户;

和基于目录/分类的树形结构不同,基于关键词检索还可以让内容之间实现网状的关联结构,从而大大提高信息的引用密度。

基于传统数据库的关键词检索由于性能问题让很多网站放弃了搜索功能,问题的解决归根结底还是需要一个全文引擎。而Lucene开源引擎的出现让这种原来被少数公司掌握的技术得到了迅速的普及,这里应该再次感谢引擎的核心贡献者Doug Cutting先生,同时也希望有更多的中文开发人员能积极投入到Lucene的相关项目开发中去,尤其在中文和其他亚洲双字节语言处理方面的问题。

Lucene也是我学习的第一个Java程序,当初是通过jdb一行行dubug了解其中的原理和机制的,非常高兴有这样一本专门的参考书出现,它无疑会为开发人员了解并更快掌握全文检索技术节省大量的时间。

国内资深搜索引擎开发专家 车东

《开发自己的搜索引擎:Lucene 2.0+Heritrix》详细介绍了如何应用Lucene进行搜索引擎开发,通过学习《开发自己的搜索引擎:Lucene 2.0+Heritrix》,读者可以完成构建一个企业级的搜索引擎网站。

《开发自己的搜索引擎:Lucene 2.0+Heritrix》是国内第一本使用Lucene和Heritrix来讲解搜索引擎构建的书,通过详细的对API和源代码的分析,力求使读者在应用的基础上,能够深入其核心,自行扩展和开发相应组件,发挥想象力,开发出更具有创意的搜索引擎产品。《开发自己的搜索引擎:Lucene 2.0+Heritrix》适合Java程序员和从事计算机软件开发的其他编程人员阅读,同时也可以作为搜索引擎爱好者的入门书籍。

由于目前市面上从技术层面介绍搜索引擎的书并不多,即使有,也大多停留在理论阶段,而非搜索引擎的开发过程。因此,可以说《开发自己的搜索引擎:Lucene 2.0+Heritrix》是国内第一本详细介绍搜索引擎开发过程的图书。

(1)采用最新的Lucene 2.0。以前大家用的1.4.3版本,而最新的Lucene 2.0重写了很多API,内部的实现方法也有了很大优化。《开发自己的搜索引擎:Lucene 2.0+Heritrix》的代码都是在2.0版本下调试通过的,这样可以帮助读者了解Lucene的更多新功能。

(2)配有一个完整的搜索引擎案例。这个案例有很强的实用价值,只需稍加修改,就能应用于实际项目,市场价值在30000元以上!

(3)着重解决开发人员头痛的问题。《开发自己的搜索引擎:Lucene 2.0+Heritrix》的目的是指导项目实践,因此没有罗列各个API的用法,而是对常见的开发问题进行深入探讨,比如《开发自己的搜索引擎:Lucene 2.0+Heritrix》的第7章,是专门为解决“Word,Excel和PDF文件如何解析”这个问题而设置的。

(4)内容新颖,前卫实用。《开发自己的搜索引擎:Lucene 2.0+Heritrix》介绍了Compass、Heritrix、DWR和HTMLParser等内容。在搜索引擎开发的过程中,这些均为相当重要且实用的技术,笔者经过自身实践将它们展现给读者,希望能让读者在学习Lucene的同时开拓视野。

目录

第一篇搜索引擎入门

第1章搜索引擎与信息检索基础

1.1搜索引擎的历史

1.1.1萌芽:Archie、Gopher

1.1.2起步:Robot(网络机器人)的出现与Spider(网络爬虫)

1.1.3发展:Excite、Galaxy、Yahoo等

1.1.4繁荣:Infoseek、AltaVista、Google和Baidu

1.2信息检索系统的基本知识

1.2.1什么是信息检索系统

1.2.2信息检索的过程

1.2.3传统查找的优点和不足

1.2.4使用索引提高检索速度

1.2.5倒排索引

1.2.6评价信息检索系统的标准

1.3Lucene简介

1.4小结

第二篇Lucene开发详解

第2章Lucene入门实例

2.1实例介绍

2.1.1实例说明

2.1.2开发过程

2.2准备工作

2.2.1将文档的全角标点转换成半角标点

2.2.2将大文档切分成多个小文档

2.2.3预处理源文件的统一接口

2.3创建Eclipse工程

2.3.1准备工作

2.3.2创建工程并引入Lucene的JAR包

2.3.3运行文档预处理类

2.3.4创建处理文档的索引类:IndexProcessor

2.3.5创建检索索引的搜索类

2.4运行效果

2.5小结

第3章Lucene索引的建立

3.1Document逻辑文件

3.1.1Lucene的Document

3.1.2为Document添加多种Field

3.1.3Document的内部实现

3.2Field的内部实现

3.2.1Field包含的类

3.2.2Field类的构造方法

3.3Lucene的索引工具IndexWriter

3.3.1IndexWriter的初始化

3.3.2向索引添加文档

3.3.3限制每个Field中的词条的数量

3.4Lucene索引过程详解

3.4.1Lucene索引建立过程概述

3.4.2使用addDocument方法向索引添加文档

3.4.3DocumentWriter的addDocument方法

3.4.4文档的倒排

3.4.5对postingTable进行排序

3.4.6将Posting信息写入索引

3.5索引文件格式

3.5.1索引的segment

3.5.2.fnm格式

3.5.3.fdx与.fdt格式

3.5.4.tii与.tis格式

3.5.5deletable格式

3.5.6复合索引格式.cfs

3.6索引过程的优化

3.6.1合并因子mergeFactor

3.6.2maxMergeDocs

3.6.3minMergeDocs

3.7索引的合并与索引的优化

3.7.1FSDirectory与RAMDirectory

3.7.2使用IndexWriter来合并索引

3.7.3索引的优化

3.8从索引中删除文档 3.8.1索引的读取工具IndexReader

3.8.2使用文档ID号来删除特定文档

3.8.3使用Field信息来删除批量文档

3.9Lucene的同步问题

3.9.1为什么要进行同步以及Lucene的同步法则

3.9.2commit.lock与write.lock

3.10Lucene 2.0的新类:IndexModifier类

3.11小结

第4章Lucene的搜索

4.1使用IndexSearcher进行搜索

4.1.1初始化IndexSearcher

4.1.2IndexSearcher最简单的使用

4.1.3IndexSearcher的多种search方法

4.2Hits类详解

4.2.1Hits类的公有接口

4.2.2效率分析

4.2.3Hits内部的缓存

4.2.4Hits类的工作原理

4.3对搜索结果的评分

4.3.1文档与词条的向量空间

4.3.2Lucene的文档得分算法

4.4构建各种Lucene内建的Query对象

4.4.1toString查看原子查询

4.4.2查询重写与权重

4.4.3TermQuery词条搜索

4.4.4BooleanQuery布尔搜索

4.4.5RangeQuery范围搜索

4.4.6PrefixQuery前缀搜索

4.4.7PhraseQuery短语搜索

4.4.8MultiPhraseQuery多短语搜索

4.4.9FuzzyQuery模糊搜索

4.4.10WildcardQuery通配符搜索

4.4.11SpanQuery跨度搜索

4.5第三方提供的Query对象:RegexQuery

4.6通过QueryParser转换用户关键字 4.6.1词条的定义

4.6.2QueryParser初始化

4.6.3改变QueryParser默认的布尔逻辑

4.6.4短语和QueryParser

4.6.5FuzzyQuery和QueryParser

4.6.6通配符与QueryParser

4.6.7查找指定的Field

4.6.8RangeQuery与QueryParser

4.6.9QueryParser和SpanQuery

4.7多Field搜索与多索引搜索

4.7.1多域搜索MultiFieldQueryParser

4.7.2MultiSearcher在多个索引上搜索

4.7.3ParalellMultiSearcher:多线程搜索

4.7.4Searchable和RMI

4.8小结

第5章排序、过滤和分页

5.1相关度排序

5.1.1使用Score进行自然排序

5.1.2Searcher的explain方法

5.1.3通过改变boost值来改变文档的得分

5.2使用Sort来排序

5.2.1Sort简介

5.2.2SortField

5.2.3按文档得分进行排序

5.2.4按文档的内部ID号来排序

5.2.5按一个或多个Field来排序

5.2.6改变SortField中的Locale信息

5.3搜索的过滤器

5.3.1过滤器的基本结构

5.3.2一个简单的Filter:建立索引

5.3.3一个简单的Filter:打印索引文档信息

5.3.4一个简单的Filter:安全级别与过滤器代码

5.3.5一个简单的Filter:在搜索时应用过滤器

5.3.6一个简单的Filter:总结

5.3.7按范围过滤RangeFilter

5.3.8在结果中查询QueryFilter

5.3.9缓存结果:CachingWrapperFilter

5.4翻页问题

5.4.1依赖于session的翻页

5.4.2多次查询

5.4.3缓存+多次查询

5.4.4缓存+多次查询+数据库

5.5小结

第6章Lucene的分析器

6.1分析

6.1.1分词

6.1.2Lucene的分析器的结构

6.1.3Lucene的分析器的实现

6.2Lucene与JavaCC

6.2.1JavaCC简介

6.2.2JavaCC为Lucene提供的分析器脚本

6.2.3Lucene的标准分析器

6.2.4标准过滤器:StandardFilter

6.2.5大小写转换器:LowerCaseFilter

6.2.6忽略词过滤器:StopFilter

6.3分析器的进阶

6.3.1再看StandardAnalyzer中的管道过滤器结构

6.3.2长度过滤器:LengthFilter

6.3.3PerFieldAnalyzerWrapper

6.3.4其他

6.4对中文的分析

6.4.1现有的中文分词方式简介

6.4.2中科院的分词软件和JE分词

6.5小结

第三篇Lucene相关话题

第7章对Word、Excel 和PDF的处理

7.1使用PDFBox处理PDF文档

7.1.1PDFBox的下载

7.1.2在Eclipse中配置

7.1.3使用PDFBox解析PDF内容

7.1.4运行效果

7.1.5与Lucene的集成

7.2使用xpdf来处理中文PDF文档

7.2.1xpdf的下载

7.2.2配置

7.2.3提取中文

7.2.4运行效果

7.3使用POI来处理Excel和Word文件格式

7.3.1对Excel的处理类

7.3.2ExcelReader的运行效果

7.3.3POI中Excel文件Cell的类型

7.3.4对Word的处理类

7.4使用Jacob来处理Word文档

7.4.1Jacob的下载

7.4.2在Eclipse中配置

7.5小结

第8章Compass:封装了Lucene的框架

8.1Compass简介

8.1.1Compass的下载

8.1.2Compass的代码片断

8.2Compass的初始配置

8.2.1Compass的配置文件

8.2.2将索引存放于内存中

8.2.3使用JDBC来存储索引

8.2.4使用连接池来存储索引

8.2.5加载compass.cfg.xml文件

8.3域模型的配置

8.3.1实体代码

8.3.2实体关系

8.3.3实体Book的配置文件

8.3.4通用元数据定义文件(.cmd.xml)

8.3.5Author和Article的配置文件

8.4使用Compass来建立索引

8.4.1索引代码

8.4.2对象关系图和运行结果

8.5使用Compass来搜索

8.5.1使用find()方法搜索

8.5.2CompassHits类型

8.5.3CompassHit类型

8.5.4使用Lucene语法来查找

8.6配置Analyzer和Optimizer

8.7小结

第9章Lucene分布式和Google Search API

9.1Lucene与分布式

9.1.1什么是GFS

9.1.2为Lucene提供分布式的几点设想

9.2Google的Search API

9.2.1搭建环境

9.2.2构建搜索类

9.2.3设置查询时的参数和查询语法

9.2.4运行测试

9.3小结

第四篇网络爬虫Heritrix

第10章无比强大的网络爬虫Heritrix

10.1Heritrix使用入门

10.1.1下载和运行Heritrix

10.1.2在Eclipse里配置Heritrix的开发环境

10.1.3创建一个新的抓取任务

10.1.4设置抓取时的处理链

10.1.5设置运行时的参数

10.1.6运行抓取任务

10.1.7Heritrix的镜像存储结构

10.1.8终止抓取或终止Heritrix的运行

10.2Heritrix的架构

10.2.1抓取任务CrawlOrder

10.2.2中央控制器CrawlController

10.2.3Frontier链接制造工厂

10.2.4用Berkeley DB实现的BdbFrontier

10.2.5Heritrix的多线程ToeThread和ToePool

10.2.6处理链和Processor

10.3扩展和定制Heritrix

10.3.1向Heritrix中添加自己的Extractor

10.3.2定制Queue-assignment-policy的两个问题

10.3.3定制Queue-assignment-policy继承QueueAssignmentPolicy类

10.3.4扩展FrontierScheduler来抓取特定的内容

10.3.5在Prefetcher中取消robots.txt的限制

10.4小结

第五篇构建垂直搜索引擎

第11章搜索引擎综合实例:准备篇

11.1实例简介以及实现途径

11.1.1选择网站

11.1.2太平洋电脑网和网易手机频道

11.1.3分析网站内容并准备抓取清单

11.1.4从下拉列表获得手机品牌首页

11.1.5解析手机品牌页面

11.2在Heritrix中为pconline开发抓取所需的定制类

11.2.1保存所有产品的页面和图片

11.2.2不保存其他无关页面

11.2.3开始抓取

11.3在Heritrix中为网易手机频道开发抓取所需的定制类

11.3.1分析网易手机频道

11.3.2设计抓取代码

11.4在Eclipse中创建工程结构

11.4.1下载插件

11.4.2在Eclipse中配置插件

11.4.3创建工程

11.4.4设置工程的Context

11.4.5设定源代码存放和输出路径

11.4.6添加Java代码

11.4.7添加Jar包

11.4.8创建JSP文件

11.4.9工程整体结构一览

11.5设定配置文件及其相关类

11.5.1系统属性配置文件

11.5.2封装配置文件

11.6产品详细信息文件格式

11.7解析网页信息的基类Extractor

11.8太平洋电脑网手机产品页面Extractor

11.9pconline产品信息运行效果测试

11.9.1编写测试函数

11.9.2执行测试

11.10网易手机频道的产品信息运行效果

11.11构建产品信息词库

11.12数据库与索引结构

11.12.1定义Product类

11.12.2确定数据库与索引的结构

11.13数据库处理和索引处理

11.13.1对数据库进行操作

11.13.2对索引进行操作

11.14调用数据库处理类和索引处理类

11.15运行

11.16小结

第12章使用正则表达式与HTMLParser提取网页内容

12.1HTML的基本知识

12.2JDK中的正则表达式提取网页内容

12.2.1java.util.regex包

12.2.2正则表达式提取网页内容实例

12.3HTMLParser提取网页内容

12.3.1HTMLParser的下载

12.3.2HTMLParser概述

12.3.3Lexer的功能及实现

12.3.4HTMLParser的功能及实现

12.3.5HTMLParser实例

12.4小结

第13章搜索引擎综合实例:DWR

13.1DWR的下载

13.2DWR入门与实例演示

13.2.1创建工程结构

13.2.2在web.xml中配置DWR

13.2.3配置dwr.xml

13.2.4页面代码

13.2.5运行效果

13.2.6DWR与直接使用XMLHttpRequest对象的比较

13.2.7在DWR中操纵自定义的对象

13.2.8查看DWR的输出日志

13.3dwr.xml的配置

13.3.1dwr.xml的标准结构

13.3.2标签与DWR自带的converter和creator

13.3.3标签

13.3.4标签

13.3.5另一个例子

13.4util.js

13.4.1调用util.js

13.4.2使用useLoadingMessage方法显示提示图标

13.4.3DWRUtil.setValue和DWRUtil.getValue

13.4.4DWRUtil.getValues和DWRUtil.setValues

13.4.5DWRUtil.addOptions和DWRUtil.removeAllOptions

13.4.6DWRUtil.addRows和DWRUtil.removeAllRows

13.4.7DWRUtil.toDescriptiveString方法

13.5小结

第14章搜索引擎综合实例:Web篇

14.1配置文件

14.1.1Spring配置文件

14.1.2DWR配置文件

14.1.3web.xml

14.2各种Bean类

14.2.1SearchResult

14.2.2SearchResults

14.2.3SearchRequest

14.3SearchService的实现

14.4SearchResultDao

14.5前台部分

14.5.1搜索主页面main.jsp

14.5.2图片的显示

14.5.3详细信息页面detail.jsp

14.6问题

14.7小结

……[看更多目录]

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
>>返回首頁<<
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有