首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

七) 第二章 索引:理解Lucene索引过程

2012-10-27 
7) 第二章 索引:理解Lucene索引过程?? ? Lucene索引的API非常简单,然而在其简易的API背后,它做了许多有趣

7) 第二章 索引:理解Lucene索引过程

?

? ? Lucene索引的API非常简单,然而在其简易的API背后,它做了许多有趣的、相对复杂的操作。我们可以明确得将这些操作分为三条:抽取文本(extract text);分析(analysis);索引(index)。

?

1. 抽取文本并创建文档(document)

? ? 在用Lucene索引数据之前,必须先将其抽取为纯文本。第一章的例子中我们索引了扩展名为 .txt 的文件,它们很容易被索引。然而事情并非总是如此简单,如果我们要索引的数据来自PDF文件,或者是XML,又或是Microsoft Word文档,那么,我们必须先从中抽取出纯文本才能够用Lucene对其进行索引。好在事情不算复杂,同为开源框架的Tika可以帮我们高效的完成此项工作。

?

2. 分析

? ? 在为索引文件增加docuemt之前,Lucene会先进行一步操作:分析。分析的目的是将原文数据拆分成若干词元(token),同时进行一些可选操作,如:大小写转换,过滤"停词"等。

?

3. 索引

? ? 经过"分析"后的数据,就可以被索引了。Lucene采用反向索引(inverted index)的结构存储索引数据,反向索引也是现代web搜索引擎的核心。

?

4. 索引文件

? ? Lucene的索引文件设计的非常精妙,它需要专门的话题来讨论。

?

?

?

热点排行