1. 程式人生 > 實用技巧 >lucene&solr查詢索引例項

lucene&solr查詢索引例項

1.實現步驟:

2.程式碼

    // 搜尋索引
    @Test
    public void testSearch() throws Exception {
        // 第一步:建立一個Directory物件,也就是索引庫存放的位置。
        Directory directory = FSDirectory.open(new File("D:\\temp\\index"));// 磁碟
        // 第二步:建立一個indexReader物件,需要指定Directory物件。
        IndexReader indexReader = DirectoryReader.open(directory);
        
// 第三步:建立一個indexsearcher物件,需要指定IndexReader物件 IndexSearcher indexSearcher = new IndexSearcher(indexReader); // 第四步:建立一個TermQuery物件,指定查詢的域和查詢的關鍵詞。 Query query = new TermQuery(new Term("fileName", "lucene")); // 第五步:執行查詢。TopDocs物件表示查詢到的多條文件的資訊 TopDocs topDocs = indexSearcher.search(query, 10);
// 第六步:返回查詢結果。遍歷查詢結果並輸出。 ScoreDoc[] scoreDocs = topDocs.scoreDocs; for (ScoreDoc scoreDoc : scoreDocs) { int doc = scoreDoc.doc; Document document = indexSearcher.doc(doc); // 檔名稱 String fileName = document.get("fileName"); System.out.println(fileName);
// 檔案內容 String fileContent = document.get("fileContent"); System.out.println(fileContent); // 檔案大小 String fileSize = document.get("fileSize"); System.out.println(fileSize); // 檔案路徑 String filePath = document.get("filePath"); System.out.println(filePath); System.out.println("------------"); } // 第七步:關閉IndexReader物件 indexReader.close(); }