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的索引文件设计的非常精妙,它需要专门的话题来讨论。
分享到:
相关推荐
第二章 搜索引擎的结构 2.1 系统概述 搜索引擎主要由三部分组成:网络爬虫(也称为网络机器人)、索引器和查询处理器。首先,网络爬虫负责从互联网上抓取网页;然后,索引器对抓取的网页进行处理,创建索引;最后...
《Lucene In Action中文版第二章》主要涵盖了Lucene搜索引擎库的基础知识和核心概念,这是一款广泛应用于全文检索、信息检索领域的开源Java库。Lucene的强大之处在于其高效性和灵活性,它能帮助开发者迅速构建出具备...
第二章“Lucene应用”则会进一步深入实践,可能涵盖: 1. **全文检索**:演示如何实现高效的全文检索功能,包括关键词高亮和模糊匹配。 2. **多字段搜索**:讲解如何同时在多个字段上进行搜索,并进行复合条件的...
#### 第二部分:应用Lucene - **章节内容**: - **Parsing common document formats (解析常见文档格式)**:介绍了解析PDF、Word等常见文档格式的方法,使这些文档可被搜索。 - **Tools and extensions (工具和...
- **第 7 章:案例研究——构建一个全文搜索引擎**:通过一个完整的项目来展示从零开始搭建基于 Lucene 的全文搜索引擎的全过程。 - **第 8 章:案例研究——实现高级功能**:介绍了一些高级特性,如高亮显示、模糊...
2. **第二部分:应用Lucene** - **第7章:解析常见文档格式** - 讨论了如何使用Lucene处理常见的文档格式,如PDF、Word等。 - 包括了工具和技术的介绍。 - **第8章:工具和扩展** - 介绍了可用于增强Lucene功能...
第一章 Lucene是个倒排索引 第二章 Lucene与数据库 第三章 Lucene的索引建立及文件结构 第四章 Lucene的检索机制及文档得分 第五章 Lucene的存储优化 第六章 Lucene的效率优化 第七章 用Lucene加快web开发!
2. **第二章:构建第一个应用** - **环境搭建**:介绍如何配置Java环境,以及如何获取和导入Lucene的库。 - **创建索引**:讲解了如何使用Lucene API对文本数据进行分析、分词和建立索引。 - **基本搜索**:展示...
第二部分为“应用Lucene”,侧重于实际应用场景中的实践技巧。 ##### 第一部分:核心Lucene 1. **Meet Lucene(认识Lucene)** - **章节概述**:本章主要介绍Lucene的基本概念、特点及其在搜索引擎领域的地位。...
《搜索引擎Lucene+Heritrix(第二版)》是一本深度探讨搜索引擎技术的书籍,主要聚焦于开源项目Lucene和Heritrix...而压缩包中的"ch2"可能包含了书中第二章的内容,涉及更具体的细节和技术实现,对于深入学习至关重要。
在《搜索引擎Lucene+Heritrix(第二版)2》中,你将学习如何配置和运行Heritrix,以及如何处理爬取过程中遇到的各种问题,比如网页编码、重定向和动态内容。 文件列表中的"ch7-9"可能指的是书籍的第七到第九章,这...
### 第二章 索引建立 #### 2.1 创建 Directory 和 Writer - `Directory`用于指定索引的存储位置,如磁盘或内存。 - `IndexWriter`创建时需传入`Directory`,用于写入索引。 #### 2.2 创建文档 - `Document`对象...
第二章通常深入到Lucene的索引过程,详细讲解如何添加、删除和更新文档。还会讨论倒排索引的概念,这是Lucene实现快速搜索的关键。此外,可能会涉及如何优化索引性能,如使用多线程索引和内存缓冲等技巧。 第三章则...
- 第一章介绍了如何构建一个简单的索引和搜索应用程序。通过这个例子,读者可以立即上手实践,并根据自己的需求进行修改和扩展。 - **应用场景与自定义需求适应性**:此示例程序可以作为基础模板,适用于多种不同...
在"ch2"这个文件中,可能包含了关于第二章的源代码或者教程内容,这部分通常会详细解释如何设置和运行这两个项目。可能包括如何配置Heritrix的爬虫策略,如何定制Lucene的索引和搜索功能,以及如何将两者整合。读者...