lucene实现初级搜索引擎
一、系统设计 搜索引擎项目代码主要分为三个部分,第一部分是构建索引,全文检索;第二部分是输入问题,对问题进行分词、提取关键词、关键词扩展;第三部分是将搜索结果输出到GUI图形用户界面。 二、搜索引擎 搜索引擎的工作流程可以简化归结为以下四个步骤: (1)网上抓取网页 (2)建立索引数据库 (3)在索引数据库中搜索 (4)对搜索结果进行处理和排序 三、全文检索 1. 什么是全文检索? 全文检索是一种将文件中所有文本与检索项匹配的文字资料检索方法。 2. 全文检索流程 全文检索大体分两个过程,索引创建 (Indexing) 和搜索索引 (Search) 。 ①索引创建:从结构化和非结构化数据提取信息,创建索引的过程。 ②搜索索引:得到用户的查询请求,搜索创建的索引,然后返回结果。 四、利用 Lucene 实现索引和搜索 1. 简介 Lucene是一个高性能,易于扩展的IR(Information Retrieval)Java类库,可以利用其中的Java类轻松地在应用程序中增加索引和搜索功能。Lucene完全用Java实现,具有良好的跨平台性,是Apache Jakarta项目中一个子项目。 2.lucene 架构图 Lucene的架构图如下图4.1所示: 图4.1Lucene的架构图 3. Lucene 的核心类 Lucene的核心的索引类简介如下: ① IndexWriter 类