现在的位置: 首页 > 综合 > 正文

Lucene 3.4查询基本过程(有源码)

2014年08月21日 ⁄ 综合 ⁄ 共 965字 ⁄ 字号 评论关闭
public class Searcher {

	 * main(这里用一句话描述这个方法的作用)   
	public static void main(String[] args) throws IOException, ParseException {
		String indexDir = "F:/lucene/indexDir";
		String queryString = "patent AND freedom";
		
		search(indexDir, queryString);
	}
	
	public static void search( String indexDir, String queryString ) throws IOException, ParseException {
		Directory dir = FSDirectory.open( new File( indexDir ) );
		IndexSearcher indexSearcher = new IndexSearcher( dir );
		QueryParser queryParser = new QueryParser( Version.LUCENE_34, "contents", new StandardAnalyzer( Version.LUCENE_34 ) );
		Query query = queryParser.parse( queryString );
		
		long beginQueryTime = System.currentTimeMillis();
		TopDocs hits = indexSearcher.search( query, 10 );
		long endQueryTime = System.currentTimeMillis();
		
		System.err.println( "Found " + hits.totalHits + " document(s) in " + (endQueryTime - beginQueryTime) +
				" milliseconds that matched query '" + queryString + "':");
		
		for (ScoreDoc scoreDoc : hits.scoreDocs) {
			Document doc = indexSearcher.doc( scoreDoc.doc );
			System.out.println( doc.get("fullpath") );
		}
		
		indexSearcher.close();
	}
}

抱歉!评论已关闭.