执行搜索篇:
索引建好后就可以执行搜索了,执行搜索的过程就是:将用户输入的光剑子进行处理,从而得到搜索结果。使用Lucene执行搜索,首先建立IndexSearcher对象,然后通过Term和Query对象来封装用户输入的搜索天阿健,最后激昂结果封装在Hits对象中,返回给用户。
创建搜索器对象IndexSearcher:IndexSearchersearcher=new IndexSearcher(索引存放路径);创建完之后就能进行搜索,常用方法是search(),使用search方法返回一个结果集对象,如Hits,Hits h=searcher.search();
执行搜索完毕之后,应该使用close()方法关闭IndexSearcher对象,如:searcher.close();
封装搜索条件:使用Term和Query对象。
创建Term对象来封装这个搜索条件,可用:Term t=newTerm(“字段名称”,”关键词”);如:Term t=new Term(“title”,”中国”);
然后创建一个Query对象,从而把Term对象转化成可执行的查询条件,Query对象有很多种,Query q=new TermQuery(t);
至此,用户的搜索请求就被封装好了,封装在Query对象中。
执行搜索:
用户的搜索请求被封装好了之后,就该把请求床底给IndexWSearcher对象,使其执行搜索,IndexSearcher对象调用Search方法,以Query对象为参数,返回搜索结果,封装在Hits对象中,如:Hits hs=searcher.search(q);