Lucene总的来说是:
- 一个高效的,可扩展的,全文检索库。
- 全部用Java实现,无须配置。
- 仅支持纯文本文件的索引(Indexing)和搜索(Search)。
- 不负责由其他格式的文件抽取纯文本文件,或从网络中抓取文件的过程。
在Lucene in action中,Lucene 的构架和过程如下图,
![[图]Lucene的构架和过程](https://webproxy.poorya-velaei-d67.workers.dev/http://hi.csdn.net/attachment/201002/1/3634917_1265049061Uiu0.png)
说明Lucene 是有索引和搜索的两个过程,包含索引创建,索引,搜索三个要点。
让我们更细一些看Lucene的各组件:
- 被索引的文档用Document对象 表示。
- IndexWriter 通过函数addDocument 将文档添加到索引中,实现创建索引的过程。
- Lucene 的索引是应用反向索引。

本文深入探讨了Lucene的总体架构,包括其作为全文检索库的角色、索引和搜索过程。Lucene使用Document表示被索引的文档,通过IndexWriter创建索引,使用Query代表查询,IndexSearcher进行搜索并计算得分。分析了索引过程中的Field、Analyzer和IndexWriter,以及搜索过程中的IndexReader、QueryParser和IndexSearcher。了解这些组件和模块有助于理解Lucene的源码实现。
1297

被折叠的 条评论
为什么被折叠?



