如何在 Java 使用 GroupDocs.Search 透過元資料索引將文件新增至索引

在現代應用程式中,快速且可靠地 add documents to index 是提供快速搜尋體驗的關鍵。無論您是建立法律檔案庫、客戶支援知識庫,或是內部文件入口網站,利用元資料都能讓您 search documents by metadata,例如作者、標題或自訂標籤。本指南將帶您完整了解整個流程——設定索引參數、建立以元資料為主的索引、將檔案新增至索引,以及執行強大的搜尋——全部使用 GroupDocs.Search for Java。

快速答覆

  • 元資料索引的主要目的為何? 它能基於文件屬性而非全文內容進行快速搜尋。
  • 哪個方法可將檔案新增至索引? index.add(YOUR_DOCUMENTS_FOLDER);
  • 我可以透過自訂元資料欄位搜尋嗎? 可以,欄位被索引後即可直接查詢。
  • 開發時需要授權嗎? 臨時試用授權足以進行評估;正式環境則需完整授權。
  • 需要哪個 Java 版本? 建議使用 JDK 8 或更高版本。

GroupDocs.Search 中的元資料索引是什麼?

元資料索引會擷取並儲存文件屬性(例如作者、建立日期、自訂標籤)於可搜尋的結構中。當您 add documents to index 時,引擎會記錄這些屬性,讓您能執行精確的查詢,例如「找出所有由 John Doe 撰寫的 PDF」。

為何使用 GroupDocs.Search 進行元資料索引?

  • 效能: 元資料搜尋輕量且能在毫秒內返回結果。
  • 彈性: 支援多種檔案格式(PDF、DOCX、PPT 等)。
  • 可擴充性: 可處理數百萬文件,且佔用記憶體極少。

前置條件

  • GroupDocs.Search for Java ≥ 25.4。
  • 已安裝並設定 JDK 8 或更新版本。
  • 具備 Java 與 Maven 的基本知識。

設定 GroupDocs.Search for Java

安裝說明

將 GroupDocs 套件庫與相依性加入您的 pom.xml

<repositories>
    <repository>
        <id>repository.groupdocs.com</id>
        <name>GroupDocs Repository</name>
        <url>https://releases.groupdocs.com/search/java/</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-search</artifactId>
        <version>25.4</version>
    </dependency>
</dependencies>

您也可以直接從 GroupDocs.Search for Java releases 下載最新二進位檔。

取得授權

要取得測試用的臨時授權:

  1. 前往 GroupDocs 官方網站並進入 Purchase 頁面。
  2. 選擇符合您評估需求的 temporary license 計畫。

步驟實作

功能 1:索引設定配置

設定索引以聚焦於元資料:

import com.groupdocs.search.IndexSettings;
import com.groupdocs.search.IndexType;

// Initialize index settings
IndexSettings settings = new IndexSettings();
settings.setIndexType(IndexType.MetadataIndex);  // Focus on metadata indexing
  • setIndexType(IndexType.MetadataIndex) 告訴引擎優先處理元資料而非全文內容。

功能 2:在指定資料夾建立索引

建立實體索引目錄以儲存所有元資料:

import com.groupdocs.search.Index;

String YOUR_INDEX_DIRECTORY = "YOUR_DOCUMENT_DIRECTORY\\\\output\\\\AdvancedUsage\\\\Indexing\\\\IndexingMetadataOfDocuments";

// Create index in specified directory using settings
Index index = new Index(YOUR_INDEX_DIRECTORY, settings);

YOUR_DOCUMENT_DIRECTORY 替換為符合您專案結構的路徑。

功能 3:如何將文件新增至索引

現在索引已建立,您可以 add documents to index,使其可被搜尋:

String YOUR_DOCUMENTS_FOLDER = "YOUR_DOCUMENT_DIRECTORY";

// Add all documents in directory to the index
index.add(YOUR_DOCUMENTS_FOLDER);

提示:

  • 確認資料夾路徑正確且應用程式具備讀取權限。
  • GroupDocs.Search 會自動從每個檔案擷取支援的元資料。

功能 4:透過元資料搜尋文件

執行針對元資料欄位的查詢,例如搜尋語言為英文的文件:

import com.groupdocs.search.results.SearchResult;

String query = "English";  // Define search query
SearchResult result = index.search(query);  // Perform the search

// Process results (example)
for (int i = 0; i < result.getDocumentCount(); i++) {
    System.out.println("Found document: " + result.getFoundDocument(i).getFilePath());
}
  • search(query) 會在已索引的元資料中搜尋,並回傳符合的文件。

實務應用

  1. 企業文件管理: 依合約日期或簽署人姓名取得合約。
  2. 數位圖書館目錄: 讓使用者依類別、出版年份或作者瀏覽書籍。
  3. CRM 系統: 快速使用客戶 ID 或區域等自訂元資料定位客戶檔案。

效能考量

  • 增量更新: 使用 index.addOrUpdate() 針對新增或變更的檔案,而非重新建構整個索引。
  • 記憶體調校: 根據已索引元資料的量調整 JVM 堆積大小 (-Xmx)。
  • 最佳化儲存: 定期呼叫 index.optimize() 以壓縮索引並提升查詢速度。

常見問題與解決方案

問題解決方案
未返回結果確認您預期的元資料欄位確實存在於來源檔案中。
權限錯誤確保 Java 程序對文件資料夾與索引目錄皆具有讀取權限。
記憶體不足錯誤增加 JVM 堆積大小,或將 add 作業分批處理,以較小的檔案群組執行。

常見問答

Q: 什麼是元資料索引?
A: 元資料索引將文件屬性(作者、標題、自訂標籤)儲存於可搜尋的結構中,讓您在不掃描全文的情況下快速查詢。

Q: 如何取得臨時授權?
A: 前往 GroupDocs 購買頁面,依照步驟取得試用授權。

Q: 我可以使用此設定索引 PDF 嗎?
A: 可以,GroupDocs.Search 支援 PDF、DOCX、PPT 以及許多其他格式。

Q: 新增文件時常見的問題是什麼?
A: 確認檔案路徑正確,且應用程式對相關目錄具備讀取權限。

Q: 如何最佳化搜尋效能?
A: 定期更新索引、使用增量新增,並調校 JVM 記憶體設定。

資源


最後更新: 2026-01-06
測試版本: GroupDocs.Search Java 25.4
作者: GroupDocs