对于没有入门的,想快速使用Lucene,这么理解吧:
1.首先你要弄清楚Lucene搜索的方式与数据的异同;
数据库的搜索是对表和的记录的各项field进行like查询,返回记录,得到查询的结果集。
Lucene是全文检索是对索引中Document的各field进行匹配,可返回document,得到查询的结果集。
2.创建索引;
明白第一步,就要把数据库表字段的信息转换成Document,实际就是创建索引。
最简单的实现,你把数据库一个问题及回答、标签数据必要的字段放进一个Document对象里面。
//伪代码
Document doc = new Document();
doc.add(new Field("问题ID", 值));
doc.add(new Field("问题标题", 值));
doc.add(new Field("问题内容", 值));
doc.add(new Field("回答id_1", 回答1内容));
doc.add(new Field("回答id_2", 回答2内容));
doc.add(new Field("回答id_3", 回答3内容));
//写索引
new IndexWriter().addDocument(document);
3.搜索索引,那用户输入,对Document的Field进行搜索就可以了,返回分页结果集;
4.页面显示,每条结果项里面有对应的问题ID,可以用ID去数据库查询其它相关的信息,显示出来。