索引其实就是目录,我们看书首先要看书的目录来了解这本书大概讲了什么。把索引创建的过程以写书来作个类比,以快速理解这个过程。
1:一篇文章包含标题和内容。
2:把多篇文章合在一起编纂成书。
3:这样就可以制作目录
创建索引的过程如下:
1:建立索引器IndexWriter
2:建立文档对象Document
3:建立信息字段Field(比如书的标题、内容)
4:将Field添加到Document
5:将Document添加到IndexWriter
创建Field,Document,IndexWriter
Field field=new Field(Field名称,内容,存储方式,索引方式);
Document doc=new Document();
doc.add(field);
IndexWriter writer=new IndexWriter(存储索引的路径,分析器实例);
writer.addDocument(doc);
writer.close();
创建索引后,就可以搜索了,Lucene的搜索类似SQL一样封装搜索请求IndexSearch s=new IndexSearch(索引路径);
Hits h=s.search();
s.close();
创建IndexSearch后,执行搜索得到结果集合对象Hits。一般都需要Term来封装搜索条件,Query对象把搜索条件转化为可执行的查询条件,就可以得到指定条件的搜索结果了Term t=new Term(field字段名称, 关键词);
Query q=new TermQuery(t);
Hits h=s.search(q);
搜索完成后对结果的操作需要调用Hits对象的方法