java 全文搜索 – 新增文件並與 GroupDocs.Search 合併
在現代企業環境中,java full text search 是任何強大文件管理 java 系統的支柱。無論您需要索引合約、發票或內部報告,設計良好的索引都能在毫秒內檢索到正確資訊。本教學將帶您完成建立索引、加入文件、設定合併選項,以及安全取消合併作業的全過程——全部使用 GroupDocs.Search for Java。
快速解答
- 「add documents to index」是什麼意思? 它會指示 GroupDocs.Search 掃描資料夾、提取可搜尋的標記,並為每個檔案儲存中繼資料。
- 我可以停止長時間的合併嗎? 可以——使用
Cancellation物件在可設定的逾時時間後中止合併。 - 我需要授權嗎? 免費試用或臨時授權可用於測試;商業授權則解鎖全部功能。
- 需要哪個 Java 版本? JDK 8 或更新版本。
- 這適用於大型資料集嗎? 絕對可以——GroupDocs.Search 能以增量索引方式處理數百頁的文件。
在 GroupDocs.Search 中「add documents to index」是什麼?
將文件加入索引表示將一系列檔案輸入至 GroupDocs.Search,使函式庫能分析其內容、提取標記,並建立可搜尋的資料結構。 此過程會產生緊湊的表示形式,讓對所有已索引檔案的全文查詢達到閃電般的速度。
為何在文件管理 java 中使用 GroupDocs.Search?
GroupDocs.Search 提供 支援 50 多種輸入格式的可擴展索引(PDF、DOCX、XLSX、PPTX、HTML、影像等),且能在 不將整個檔案載入記憶體的情況下處理高達 2 GB 的文件。其 API 讓您對索引、合併與取消擁有精細的控制,成為企業級 java 全文搜索解決方案的首選。
前置條件
- GroupDocs.Search for Java 版本 25.4 或更新。
- Maven(或手動下載 JAR)。
- 具備基本的 Java 知識以及 JDK 8 以上的環境。
設定 GroupDocs.Search for Java
Maven 安裝
如果您使用 Maven 管理相依性,請將以下儲存庫與相依性加入您的 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>
直接下載
或者,從官方網站下載最新的 JAR: GroupDocs.Search for Java releases。
取得授權
- Free Trial: 在 GroupDocs 官方網站註冊以取得試用授權。
- Temporary License: 若需延長評估,可申請臨時金鑰。
- Commercial License: 購買以供正式使用。
取得授權檔案後,將其放置於專案中,並依下文示範初始化函式庫。
實作指南
如何將文件加入索引 – 建立第一個索引
透過實例化 Index 類別載入或建立空的索引,該類別代表磁碟上的可搜尋容器。 此步驟會為將從文件產生的所有標記準備儲存位置。
import com.groupdocs.search.Index;
// Create an instance of the index at the specified path
Index index1 = new Index("YOUR_DOCUMENT_DIRECTORY\\\\Index1");
- 為何: 此步驟建立儲存容器,以保存已索引的標記。
將文件加入索引
呼叫 index.add 並傳入資料夾路徑;此方法會掃描每個檔案、提取文字,並將可搜尋的中繼資料儲存於索引中。 此操作一次完成,並遵循已設定的 IndexSettings。
index1.add("YOUR_DOCUMENT_DIRECTORY"); // Add documents from this directory
- 為何: 函式庫會讀取每個檔案、提取文字,並將其存入
index1。
建立第二個索引以支援彈性工作流程
實例化另一個 Index 物件以保存獨立的文件集合,允許在合併前進行隔離處理。 此模式對於多租戶情境或分階段索引非常有用。
Index index2 = new Index("YOUR_DOCUMENT_DIRECTORY\\\\Index2");
index2.add("YOUR_DOCUMENT_DIRECTORY");
- 為何: 多個索引讓您管理不同的文件集合,之後再將它們合併。
如何設定合併選項與取消合併作業
建立 MergeOptions 實例,設定所需參數,並附加會在指定逾時後中止合併的 Cancellation 代幣。 這讓您在大型合併期間完整掌控資源使用。
import com.groupdocs.search.options.MergeOptions;
import com.groupdocs.search.options.Cancellation;
MergeOptions options = new MergeOptions();
options.setCancellation(new Cancellation()); // Initialize cancellation object
options.getCancellation().cancelAfter(5000); // Cancel merge operation after 5 seconds
- 為何:
Cancellation讓您能自動 cancel merge operation,防止任務失控。
合併索引
呼叫 index1.merge(index2, mergeOptions);主索引會吸收次索引的所有文件,同時保留標記完整性。 合併完成後,您將擁有統一的可搜尋儲存庫。
index1.merge(index2, options);
- 為何: 呼叫此方法後,
index1包含兩個來源的所有文件,為您提供統一的搜尋體驗。
文件管理 Java 的實務應用
- 法律事務所: 將多個辦公室的案件檔案整合至單一可搜尋的索引。
- 金融機構: 合併季報至統一儲存庫,以快速執行稽核查詢。
- 企業: 結合人力資源政策、合規手冊與內部指南,實現全企業搜尋。
效能考量
- 增量索引: 定期加入新檔案,而非重新建構整個索引。
- 記憶體監控: 大批次可能消耗大量 RAM;請將檔案分成較小批次處理或啟用串流模式。
- 垃圾回收: 及時釋放未使用的
Index物件以釋放資源。 - SSD 儲存: 將索引檔案存放於 SSD 可提升合併速度至最高 2 倍。
常見問題與解決方案
| Issue | Solution |
|---|---|
| 資料夾路徑不正確 | 確認絕對路徑,並確保應用程式具有讀取權限。 |
| 記憶體不足 | 增加 JVM 堆積大小 (-Xmx) 或分批索引檔案。 |
| 取消未觸發 | 在呼叫 merge 前確保已設定 cancelAfter。 |
| 不支援的檔案格式 | 如有需要,從 GroupDocs 安裝額外的格式插件。 |
常見問答
Q: 為何我要建立多個索引而不是單一索引?
A: 分離的索引讓您能隔離資料領域、套用不同的安全政策,且僅在需要時合併,從而提升效能與組織性。
Q: 我可以像取消合併一樣取消索引作業嗎?
A: 可以——使用 Cancellation 物件搭配 add 方法停止長時間執行的索引任務。
Q: 如何確保在極大型文件集合下的最佳效能?
A: 執行增量索引、監控 JVM 記憶體,並將索引儲存在 SSD 上。可考慮使用 BatchSize 設定以限制記憶體中的文件數量。
Q: 如果收到「Access denied」錯誤,我該怎麼辦?
A: 檢查執行 Java 程序之使用者的資料夾權限,並確保授權檔案可讀取。
Q: GroupDocs.Search 能與其他 GroupDocs 函式庫相容嗎?
A: 當然可以——您可以將其與 GroupDocs.Viewer、GroupDocs.Conversion 等整合,構建全端文件解決方案。
結論
透過本指南,您現在已了解如何 add documents to index、設定合併行為,並在需要時安全 cancel merge operation——全部在穩健的 java full text search 工作流程中。可嘗試更大的資料集、探索自訂分詞器,或將 GroupDocs.Search 與其他 GroupDocs 產品結合,打造企業級解決方案。
資源
- 文件說明: GroupDocs.Search Java Docs
- API 參考: GroupDocs API Reference
- 下載: Latest Releases
- GitHub 儲存庫: GroupDocs Search for Java
- 免費支援論壇: GroupDocs Forum
- 臨時授權申請: GroupDocs Temporary License
最後更新: 2026-05-12
測試環境: GroupDocs.Search 25.4 for Java
作者: GroupDocs