Lucene的基本概念

 

Lucene是什么?

Lucene是一款高性能、可扩展的信息检索工具库。信息检索是指文档搜索、文档内信息搜索或者文档相关的元数据搜索等操作。

 

信息检索流程如下:

1、 将即将检索的资源集合放到本地,并使用某种特定的结构存储,称为索引,这个索引的集合称为索引库。由于索引库的结构按照专门为快速查询设计的,所以查询的速度非常的快;

 

2、 搜索操作时都是在本地的索引库中进行查找;

 

所以对于全文检索功能的开发,要做两方面:索引库管理(维护索引库中的数据)、在索引库中进行搜索。而Lucene就是操作索引库的工具;

 

索引库是什么样子?

索引库是一个目录,里面是一些二级制文件,就如同数据库,所有的数据也是以文件的形式存放在文件系统中的。我们不能直接操作这些二级制文件,而是使用Lucene提供的API完成相应的操作,就像数据库使用SQL语句一样。

 

对索引库的操作可以分为两种:管理与查询。

1、 管理索引库使用的IndexWriter

2、从索引库中查询使用IndexSearcher

Lucene的数据结构为 DocumentField

Document代表是一条数据,Field代表数据中的一个属性。一个Document中有多个FieldField的值为String型,因为Lucene只处理文本;

我们只需要把我们的程序中的对象转换为Doucemnt,就可以交给Lucene管理了,搜索的结果中的数据列表也是Document的集合;

 

 

OK,我们来做一个实例,还原一下整个流程

 

1、创建一个用户类,用于实例化用户数据