Lucene的基本概念
Lucene是什么?
Lucene是一款高性能、可扩展的信息检索工具库。信息检索是指文档搜索、文档内信息搜索或者文档相关的元数据搜索等操作。
信息检索流程如下:
1、 将即将检索的资源集合放到本地,并使用某种特定的结构存储,称为索引,这个索引的集合称为索引库。由于索引库的结构按照专门为快速查询设计的,所以查询的速度非常的快;
2、 搜索操作时都是在本地的索引库中进行查找;
所以对于全文检索功能的开发,要做两方面:索引库管理(维护索引库中的数据)、在索引库中进行搜索。而Lucene就是操作索引库的工具;
索引库是什么样子?
索引库是一个目录,里面是一些二级制文件,就如同数据库,所有的数据也是以文件的形式存放在文件系统中的。我们不能直接操作这些二级制文件,而是使用Lucene提供的API完成相应的操作,就像数据库使用SQL语句一样。
对索引库的操作可以分为两种:管理与查询。
1、 管理索引库使用的IndexWriter;
2、从索引库中查询使用IndexSearcher。
Lucene的数据结构为 Document与Field。
Document代表是一条数据,Field代表数据中的一个属性。一个Document中有多个Field,Field的值为String型,因为Lucene只处理文本;
我们只需要把我们的程序中的对象转换为Doucemnt,就可以交给Lucene管理了,搜索的结果中的数据列表也是Document的集合;
OK,我们来做一个实例,还原一下整个流程
1、创建一个用户类,用于实例化用户数据