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 倍。

常見問題與解決方案

IssueSolution
資料夾路徑不正確確認絕對路徑,並確保應用程式具有讀取權限。
記憶體不足增加 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 產品結合,打造企業級解決方案。

資源


最後更新: 2026-05-12
測試環境: GroupDocs.Search 25.4 for Java
作者: GroupDocs

相關教學