标签:Lucene class blog code java 使用
对于一个搜索而言,其核心语句为:
searcher.search(query, 10);此时,其最重要的参数为一个Qeury对象。构造一个Query对象有2种方法:【均以在contents域搜索java关键词为例】
(1)使用Query的子类,如BooleanQuery, ConstantScoreQuery, DisjunctionMaxQuery, FilteredQuery, MatchAllDocsQuery, MultiPhraseQuery, MultiTermQuery, PhraseQuery, SpanQuery, TermQuery,直接实例化一个对外:
searcher.search( new TermQuery(new Term("contents","java")), 10);
以下语句结构更为清晰
Term term= new Term("contents","java"); TermQuery tq = new TermQuery(term); searcher.search(tq , 10);此外,即为在contents域中搜索包括java的文档。
(2)使用QueryParser的parse()方法,对所传入的搜索关键词汇进行解释,并返回query对象。
QueryParser parser = new QueryParser(Version.LUCENE_48, "contents",new SimpleAnalyzer(Version.LUCENE_48)); Query query = null; try { query = parser.parse("java"); } catch (ParseException e) { e.printStackTrace(); } TopDocs docs = searcher.search(query, 10);以上语句创建一个QueryParser,其默认搜索域为contents,然后将搜索词汇转化为Query对象。
如果指定QueryParser的默认搜索域为全部?如何指定一个Query的搜索域?
【Lucene4.8教程之六】QueryParser与Query子类:如何生成Query对象,布布扣,bubuko.com
【Lucene4.8教程之六】QueryParser与Query子类:如何生成Query对象
标签:Lucene class blog code java 使用
原文地址:http://blog.csdn.net/jediael_lu/article/details/33288793