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的索引文件设计的非常精妙,它需要专门的话题来讨论。

猜你喜欢

转载自bun-ny.iteye.com/blog/1071473