Lucene分析与应用(原创精品系列)
分類: 图书,计算机与互联网,程序语言与软件开发,语言与开发工具,综合,
品牌: 吴众欣
基本信息·出版社:机械工业出版社
·页码:279 页
·出版日期:2008年
·ISBN:9787111249924
·包装版本:1版
·装帧:平装
·开本:16
·正文语种:中文
·丛书名:原创精品系列
产品信息有问题吗?请帮我们更新产品信息。
内容简介《Lucene分析与应用》对Lueene搜索引擎的源代码进行分析讲解,并用一些具体实例把所有源代码进行组织与剖析,完整地展示Lucene从建立索引到查询的过程。
作者简介吴众欣,西安交通大学在读博士,主攻搜索引擎与服务组合。喜欢研读,头脑虽慢,滴水石穿。好奇心重,兴趣广泛。沈家立,2003年开始使用Java开发项目,主要从事电子商务和电子支付领域。喜欢研究开源项目,是bbs.wnetw.net的创建者之一,并担任BEA天津UserGroupLeader。
编辑推荐《Lucene分析与应用》通过介绍Lucene的应用,分析Lucene具体项目开发的应用环境。最后简单地介绍了Nutch和Hadoop。
《Lucene分析与应用》适用于开发搜索引擎的技术人员、Lucene爱好者等读者。
目录
前言
第1章搜索引擎与Lucene
1.1搜索引擎与Lucene简介
1.1.1搜索引擎分类
1.1.2Lucene项目简介
1.1.3其他搜索引擎开发包介绍
1.2Lucene的系统架构
1.2.1Lueene最简示例
1.2.2Lucene采用的索引结构
1.2.3Lucene软件包架构
1.3本书的章节导航
第2章文档逻辑视图与文本分析
2.1文档逻辑视图
2.2Lucene的文本分析过程简介
2.3空格解析器(WhitespaceAnalyzer)
2.3.1空格分词器(Whitespace T0kenizer)
2.3.2Token(标志)
2.4标准解析器(StandardAnalyzer)
2.4.1标准分词器(StandardTokenizer)
2.4.2标准过滤器
2.5打造自己的解析器.
2.5.1常用的中文分词法
2.5.2对CJKAnalyzer的分析
2.5.3构造自己的解析器
第3章Lucene创建索引之一(段索引方式与倒排索引结构)
3.1倒排结构与段索引方式
3.2索引写入过程概述
第4章Lucene创建索引之二(在内存中创建索引)
4.l创建Document层面索引
4.2写入field信息
4.3文件倒排过程
4.4填写postingTable
4.5postingTable的排序过程
4.6写入field名字文件(.fnm文件)
4.7写入field信息文件(.fdt,.fdx文件)
4.8写入频率与位置文件(.frq与.prx文件)
4.9TennVector方式写入索引(.tvf,.tvd与.tvx文件)
4.10字典文件(.tis与.tii文件)
4.11写入规格化文件
第5章Lucene创建索引之三(索引合并过程)
5.ldocument层面的合并过程
5.2field与term的合并过程
5.2.lfield信息合并过程
5.2.2term信息合并过程
5.2.3合并norm信息
5.3Lucene索引采用的压缩算法
5.3.lfrontcoding(端部编码)
5.3.2variable-bytecoding(变长字节编码)
5.3.3deha-coding或delta-encoding
5.4小结
第6章Lucene查询过程之一(查询模型与引擎预热)
6.1查询模型
6.1.1向量模型
6.1.2市尔模型
6.1.3Lucene的评分(score)方式
6.2查询简单示例
6.3引擎预热
第7章Lucene查询过程之二(查询解析与语法)
7.1构建查询解析器(QueryParser)
7.2Lucene的查询语法
7.3Lucene查询语法树的构建过程
第8章Lucene查询过程之三(相似度匹配与算法分析)
8.1查询与相似度计算
8.2Lucene查询算法分析
第9章Lucene标引与查询全程示例
9.1实例描述
9.2建立索引过程
9.3查询过程
第10章Lucene的常用应用场景分析
10.1对大型XML文档集合的检索
10.2MuhiSearcher的应用
第11章利用Lucene构建分布式搜索引擎
11.1分布式文件系统和Hadoop
11.2Nutch简单剖析
11.3体验Nutch
附录ATestIndexWriterMerging
附录BTestDocumentWriter与DocHelper
……[看更多目录]
序言Google被人熟知,Baidu在中国成功推广,“搜索”吸引着IT界的眼球,也吸引了更多开发者的好奇心。于是诞生了Lucene,一个开源的全文检索API(Application Program Interface,应用程序界面)。并在LHcene的基础上,衍生出了一个全文检索引擎(Nutch)和分布式文件系统( Hadoop)。
大家一定很好奇,Google的搜索引擎是如何工作的?采用什么样的文件系统?提供什么样的服务?……我们无法得知。Lucene与其相关的项目Nutch和Hadoop弥补了这个不足,让我们有机会了解到搜索引擎、分布式文件系统的内部工作原理。
如果介绍一个软件或者一套框架如何使用是比较容易的,但是要从源代码剖析内核,却不容易。老吴与家立在写作期间,辗转难眠,思索如何表述才能够准确地把Lucene的设计精髓展现给读者。最终确定通过对Lucene源代码的解说、辅以图表,并通过一些具体实例把所有源代码进行组织与剖析,完整地展示Lucene从建立索引到查询的完整过程。并通过介绍一些Lucene的应用,和读者分享Lucene在具体项目开发中的应用环境。同时,插入一些Lucene开发实例,抛砖引玉,试图让读者也能亲自体会Lucene本身的强大功能。最后,为了进一步说明Lucene的应用环境,本书简单地介绍了 Nutch和Hadoop。
老吴很早就开始研读Lucene的源代码,并阅读了Dong Cutting的相关论文,对Lucene的内核具有深刻的认识。我们很想与大家分享自己的学习体会和研究成果,于是决定把它写出来,家立负责Lucene多处应用部分的写作。Lucene是一个很活跃的开源项目,因为老吴研究得比较早,版本以1.4.3为主。为了能够跟上Lucene的步伐,家立推荐采用了较新的1.9-2.1版本进行分析。但是该版本的内核变化比较大,因此需要重新分析、调试、总结。为了尽快完成,我们日日熬夜,真所谓痛并快乐着。在此非常感谢家人的支持,朋友的鼓励。
在此,向我的爱妻张信健对我的一贯支持表示感谢!谢谢你,我的爱人!
希望对搜索引擎内核与运行机制感兴趣的朋友阅读此书,由于时间仓促,难免有所疏漏,请读者批评指正。
吴众欣
文摘1.1搜索引擎与Lucene简介
从最初的图书检索到链接查询,对图片、多媒体的搜索,直至现在的人肉搜索,搜索引擎作为信息融合平台将万千世界带到你的周围,让你触手可得,悄悄改变着你的生活,同时也可能将你暴露于众目睽睽之下。有心人可能会考虑它背后的机理,以体味搜索引擎给我们的生活带来的变化。
现今的商业搜索引擎还是Google一家独大,微软也提供了MSN搜索引擎,但技术与经验积累还不够。而百度则是中文搜索中的佼佼者。在商业搜索引擎中,核心技术与外部世界之间隔着一扇沉重的大门,幸好开源社区常常会将这扇门撬开些许缝隙,让我们能窥得冰山一角。Lucene与MG4J正是开源搜索引擎项目,虽然“代码之前,了无秘密”,但是冰山一角也非轻易窥得。本章我们也是浮光掠影地谈一谈搜索引擎,力图能给大家一些新的信息,以便从多个角度来认识搜索引擎与Lucene。