Not present.
All links preserved.
Now produce final content.# 如何在 Java 中使用 GroupDocs.Search 透過 Metadata Indexing 新增文件至索引
快速且可靠地將文件新增至索引是任何現代以搜尋為核心的應用程式的基礎。無論您是建立法律檔案庫、客戶支援知識庫,或是內部文件入口網站,metadata indexing 讓您能夠 以 metadata 搜尋文件 如作者、標題或自訂標籤。 在本教學中,您將學習如何設定索引參數、建立以 metadata 為主的索引、加入檔案,以及執行精確搜尋——全部使用 GroupDocs.Search for Java。
快速解答
- metadata indexing 的主要目的為何? 它能夠基於文件屬性而非全文內容進行快速搜尋。
- 哪個方法將檔案新增至索引?
index.add(YOUR_DOCUMENTS_FOLDER); - 我可以依自訂 metadata 欄位搜尋嗎? 可以,欄位被索引後即可直接查詢。
- 開發階段需要授權嗎? 臨時試用授權足以進行評估;正式上線則需完整授權。
- 需要哪個 Java 版本? 建議使用 JDK 8 或更高版本。
GroupDocs.Search 中的 metadata indexing 是什麼?
metadata indexing 會擷取並儲存文件屬性(例如作者、建立日期、自訂標籤)於可搜尋的結構中。當您 add documents to index 時,引擎會記錄這些屬性,讓您能執行精確查詢,例如「找出所有由 John Doe 撰寫的 PDF」或「search pdf by author」。
為何選擇 GroupDocs.Search 進行 metadata indexing?
- 效能: Metadata 搜尋輕量且能在毫秒內返回結果。
- 彈性: 支援多種檔案格式(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 下載最新二進位檔。
取得授權
取得測試用的臨時授權:
- 前往 GroupDocs 官方網站並進入 Purchase 頁面。
- 選擇符合您評估需求的 temporary license 計畫。
步驟實作
功能 1:索引設定配置
設定索引以聚焦於 metadata:
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)告訴引擎優先處理 metadata 而非全文內容。
功能 2:在指定資料夾建立索引
建立實體索引目錄以儲存所有 metadata:
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 會自動從每個檔案擷取支援的 metadata。
功能 4:依 metadata 搜尋文件
執行針對 metadata 欄位的查詢,例如搜尋語言為英文的文件:
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)會在已索引的 metadata 中搜尋並返回符合的文件。- 您也可以透過使用作者名稱作為查詢字串,search pdf by author。
實務應用
- 企業文件管理: 依合約日期或簽署人姓名取得合約。
- 數位圖書館目錄: 讓使用者依類別、出版年份或作者瀏覽書籍。
- CRM 系統: 使用客製化 metadata(如客戶編號或區域)快速定位客戶檔案。
提示與最佳實踐
- 增量更新: 使用
index.addOrUpdate()針對新檔或變更檔案,而非重新建構整個索引。 - 批次處理: 處理數千檔案時,將檔案分成較小批次新增,以降低記憶體使用。
- metadata 驗證: 確認來源文件實際包含您欲查詢的 metadata(例如 PDF 中的作者欄位)。
效能考量
- 記憶體調校: 根據已索引 metadata 的量調整 JVM 堆積大小 (
-Xmx)。 - 最佳化儲存: 定期呼叫
index.optimize()以壓縮索引並提升查詢速度。
常見問題與解決方案
| 問題 | 解決方案 |
|---|---|
| 未返回結果 | 確認您預期的 metadata 欄位確實存在於來源檔案中。 |
| 權限錯誤 | 確保 Java 程序對文件資料夾與索引目錄皆具有讀取權限。 |
| 記憶體不足錯誤 | 增加 JVM 堆積大小或將 add 操作分批,以較小群組處理檔案。 |
常見問答
Q: 什麼是 metadata indexing?
A: metadata indexing 將文件屬性(作者、標題、自訂標籤)儲存於可搜尋的結構中,讓您在不掃描全文的情況下快速查找。
Q: 如何取得臨時授權?
A: 前往 GroupDocs 購買頁面,依照步驟取得試用授權。
Q: 我可以用此設定索引 PDF 嗎?
A: 可以,GroupDocs.Search 支援 PDF、DOCX、PPT 以及其他多種格式。
Q: 新增文件時常見的問題是什麼?
A: 核對檔案路徑是否正確,並確保應用程式對相關目錄具有讀取權限。
Q: 如何最佳化搜尋效能?
A: 定期更新索引、使用增量新增,並調整 JVM 記憶體設定。
資源
- 文件說明: GroupDocs.Search Java Documentation
- API 參考: GroupDocs API Reference
- 下載: Latest Releases
- GitHub 程式庫: GroupDocs.Search GitHub
- 免費支援論壇: GroupDocs Community Forum
- 臨時授權: Obtain Temporary License
最後更新: 2026-03-17
測試版本: GroupDocs.Search Java 25.4
作者: GroupDocs