/** * * 查询 * * @throws IOException * @throws ParseException */ @Test public void search() throws IOException, ParseException{ //创建分词器 Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_34); //索引库 Directory dir = FSDirectory.open(new File(indexPath)); //IndexSearcher IndexSearcher searcher = new IndexSearcher(dir); //查询解析 QueryParser parser = new QueryParser(Version.LUCENE_34, "content", analyzer); Query query = parser.parse("WYSIWYG"); //查询 TopDocs topDocs = searcher.search(query, 100); System.out.println("查询结果:"+topDocs.totalHits+"条记录"); //打印结果 for(ScoreDoc doc : topDocs.scoreDocs){ Document document = searcher.doc(doc.doc); System.out.println(document.get("filepath")); } searcher.close(); }?
需要注意的是:建立索引的分词器要和查询的分词器是同一个,这个才能保证分词一致。
?