Lucene分析与应用

Lucene分析与应用

zcover.jpg

【作  者】吴众欣;沈家立 
【丛 书 名】 原创精品系列 
【出 版 社】 机械工业出版社     【书 号】 9787111249924 
【出版日期】 2008 年9月 【开 本】 16开
【页 码】 279     【版 次】1-1
  市场价: ¥39.00     pub价:¥29.25

【内容简介】
本书通过对Lucene源代码的解说、辅以图表,并用一些具体实例把所有源代码进行组织与剖析,完整地层示Lucene从建立索引到查询的过程。本书还通过介绍Lucene的应用,体验Lucene具体项目开发的应用环境。最后简单地介绍了Nutch和Hadoop。
本书尤其针对查询过程的算法分析道出了Lucene性能秘密,作者把Lucene开发者对查询性能的思考历程通过示例展示出来,将Lucene最精华的、最富有神秘色彩的代码剖析明白,这也是本书与其他Lucene书籍不同之处!.
本书适用于搜索引擎技术研究人员、Lucene爱好者、对搜索引擎内核与运行机制感兴趣的读者阅读。...

【前言】
Google被人熟知,Baidu在中国成功推广,“搜索”吸引着IT界的眼球,也吸引了更多开发者的好奇心。于是诞生了Lucene,一个开源的全文检索API(Application Program Interface,应用程序界面)。并在Lucene的基础上,衍生出了一个全文检索引擎(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章  搜索引擎与Lucene
1.1  搜索引擎与Lucene简介
1.1.1  搜索引擎分类
1.1.2  Lucene项目简介
1.1.3  其他搜索引擎开发包介绍
1.2  Lucene的系统架构
1.2.1  Lucene最简示例
1.2.2  Lucene采用的索引结构
1.2.3  Lucene软件包架构
1.3  本书的章节导航
第2章  文档逻辑视图与文本分析
2.1  文档逻辑视图
2.2  Lucene的文本分析过程简介
2.3  空格解析器(WhitespaceAnalyzer)
2.3.1  空格分词器(WhitespaceTokenizer)
2.3.2  Token(标志)
2.4  标准解析器(StandardAndyzer)
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.1  创建Document层面索引
4.2  写入field信息
4.3  文件倒排过程
4.4  填写postinSTable
4.5  postingTable的排序过程
4.6  写入field名字文件(.fnm文件)
4.7  写入field信息文件(.fdt,fdx文件)
4.8  写入频率与位置文件(.frq与.prx文件)
4.9  TermVeetor方式写入索引(.tvf,.tvd与.tvx文件)
4.10  字典文件(.tis与.tii文件)
4.11  写入规格化文件
第5章  Lucene创建索引之三(索引合并过程)
5.1  document层面的合并过程
5.2  field与term的合并过程
5.2.1  field信息合并过程
5.2.2  term信息合并过程
5.2.3  合并norm信息
5.3  Lunece索引采用的压缩算法
5.3.1  front coding(端部编码)
5.3.2  variable-byte coding(变长字节编码)
5.3.3  deha-coding或delta-encoding
5.4  小结
第6章  Lucene查询过程之一(查询模型与引擎预热)
6.1  查询模型
6.1.1  向量模型
6.1.2  布尔模型
6.1.3  Lucene的评分(score)方式
6.2  查询简单示例..
6.3  引擎预热
6.3.1  获得并打开索引文件
6.3.2  获得segment信息
6.3.3  FSDirectory打开索引过程
6.3.4  获得field信息
6.3.5  获得term信息
第7章  Lucene查询过程之二(查询解析与语法)
7.1  构建查询解析器(QueryParser)
7.2  Lucene的查询语法
7.2.1  项(Term)查询
7.2.2  域(Field)
7.2.3  词条查询(Term Modifiers)
7.2.4  布尔操作符(Boolean Operator)
7.2.5  组合查询(Grouping)
7.2.6  针对field的组合查询(Field Grouping Field)
7.2.7  Escaping Special Character(转义字符)
7.3  Lucene查询语法树的构建过程
7.3.1  过程分析
7.3.2  语法树分析实例
第8章  Lucene查询过程之三(相似度匹配与算法分析)
8.1  查询与相似度计算
8.1.1  查询器(Searcher)的查询过程
8.1.2  查询语句的权重计算
8.1.3  获得topK个document
8.2  Lucene查询算法分析
8.2.1  相似度计算简单实例
8.2.2  线性相似度计算
8.2.3  基于倒排索引的相似度计算
8.2.4  Lucene的相似度计算
第9章  Lucene标引与查询全程示例
9.1  实例描述
9.2  建立索引过程
9.2.1  选择文档中建立索引的field
9.2.2  选择field录入方式
9.2.3  生成segment文件
9.2.4  生成fields文件
9.2.5  posting文件
9.2.6  合并segment index生成index文件
9.2.7  合并后的文件关系
9.3  查询过程
第10章  Lucene的常用应用场景分析
10.1  对大型XML文档集合的检索
10.1.1  都柏林文件介绍
10.1.2 XML分析器介绍
10.1.3  Lucene在大型XML文件中的应用
10.2  MultiSearcher的应用
10.2.1  MultiSearcher的应用
10.2.2  ParallelMultiSearcher的应用
第11章  利用Lucene构建分布式搜索引擎
11.1  分布式文件系统和Hadoop
11.1.1  Hadoop文件系统体系结构
11.1.2  系统交互过程:单一NameNode方式
11.1.3  系统组件描述
11.2  Nutch简单剖析
11.3  体验Nutch
附录A  TestIndexWriterMerging
附录B  TestDocumentWriter与DocHelper ...


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16566727/viewspace-481815/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/16566727/viewspace-481815/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值