//使用TermQuery查詢
@Test
public void testTermQuery() throws Exception {
//以讀的方式打開索引庫
Directory directory = FSDirectory.open(Paths.get("D:\\LucentTest\\luceneIndex"));
//創建一個IndexReader
IndexReader indexReader = DirectoryReader.open(directory);
//創建一個IndexSearcher對象
IndexSearcher indexSearcher = new IndexSearcher(indexReader);
//創建一個查詢對象
Query query = new TermQuery(new Term("content", "java"));
//執行查詢
TopDocs topDocs = indexSearcher.search(query, 10);
System.out.println("查詢結果總數量:" + topDocs.totalHits);
for (ScoreDoc scoreDoc : topDocs.scoreDocs) {
//取document對象
Document document = indexSearcher.doc(scoreDoc.doc);
System.out.println(document.get("name"));
System.out.println(document.get("path"));
}
indexReader.close();
}
//匹配所有文檔
@Test
public void testMatchAllDocsQuery() throws Exception {
//以讀的方式打開索引庫
Directory directory = FSDirectory.open(Paths.get("D:\\LucentTest\\luceneIndex"));
//創建一個IndexReader
IndexReader indexReader = DirectoryReader.open(directory);
//創建一個IndexSearcher對象
IndexSearcher indexSearcher = new IndexSearcher(indexReader);
//創建一查詢對象
Query query = new MatchAllDocsQuery();
//執行查詢
//執行查詢
TopDocs topDocs = indexSearcher.search(query, 10);
System.out.println("查詢結果總數量:" + topDocs.totalHits);
for (ScoreDoc scoreDoc : topDocs.scoreDocs) {
//取document對象
Document document = indexSearcher.doc(scoreDoc.doc);
System.out.println(document.get("name"));
//System.out.println(document.get("content"));
System.out.println(document.get("path"));
System.out.println(document.get("size"));
}
indexSearcher.getIndexReader().close();
}
//不匹配所有文檔
@Test
public void testMatchNoDocsQuery() throws Exception {
//以讀的方式打開索引庫
Directory directory = FSDirectory.open(Paths.get("D:\\LucentTest\\luceneIndex"));
//創建一個IndexReader
IndexReader indexReader = DirectoryReader.open(directory);
//創建一個IndexSearcher對象
IndexSearcher indexSearcher = new IndexSearcher(indexReader);
//創建一查詢對象
Query query = new MatchNoDocsQuery();
//執行查詢
//執行查詢
TopDocs topDocs = indexSearcher.search(query, 10);
System.out.println("查詢結果總數量:" + topDocs.totalHits);
for (ScoreDoc scoreDoc : topDocs.scoreDocs) {
//取document對象
Document document = indexSearcher.doc(scoreDoc.doc);
System.out.println(document.get("name"));
}
indexSearcher.getIndexReader().close();
}
下面是小編的微信轉帳二維碼,小編再次謝謝讀者的支持,小編會更努力的
----請看下方↓↓↓↓↓↓↓
百度搜索 Drools從入門到精通:可下載開源全套Drools教程
深度Drools教程不段更新中:
更多Drools實戰陸續發佈中………
掃描下方二維碼關注公衆號 ↓↓↓↓↓↓↓↓↓↓