如何使用 GroupDocs.Search for Java 建立文件索引

在當今資料驅動的世界裡,如何有效地建立文件索引 是任何處理大量檔案的 Java 開發者必備的關鍵技能。無論是處理法律合約、財務報表或內部報告,能夠快速定位正確資訊都能節省大量手動工作時間。在本教學中,你將學會使用 GroupDocs.Search 函式庫建立文件索引,並在建立好的索引上執行文字查詢與物件查詢。讓我們開始吧!

快速答案

  • 建立文件索引的第一步是什麼? 初始化一個指向索引儲存資料夾的 Index 物件。
  • 哪個方法可將文件加入索引? 使用 index.add("PATH_TO_DOCUMENTS")
  • 我可以搜尋數值範圍嗎? 可以,使用類似 "400 ~~ 4000" 的文字查詢,或透過 SearchQuery.createNumericRangeQuery 的物件查詢。
  • 我需要授權嗎? 提供免費試用版;商業授權可解鎖全部功能。
  • 需要哪個 Java 版本? JDK 8 或以上。

什麼是使用 GroupDocs.Search 進行「如何建立文件索引」?

建立文件索引是指掃描資料夾內檔案的內容,並將可搜尋的詞彙儲存在專屬的索引資料夾中。這個前置處理步驟讓之後的查詢能夠閃電般快速,因為函式庫會搜尋已準備好的索引,而不是每次都直接讀取原始檔案。

為什麼要使用 GroupDocs.Search for Java?

  • 效能: 即使在上千個檔案上,搜尋也能在毫秒內完成。
  • 格式支援: 支援 PDF、Word、Excel、PowerPoint 等多種檔案。
  • 彈性: 支援純文字查詢、數值範圍以及複雜的物件查詢。
  • 可擴充性: 可透過新增文件直接更新索引,無需重新建構。

前置條件

  • 已安裝 Maven 以管理相依性。
  • 使用 IntelliJ IDEA 或 Eclipse 等 IDE。
  • 基本的 Java 知識(物件導向概念、例外處理)。

設定 GroupDocs.Search for Java

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>

直接下載

你也可以從 GroupDocs.Search for Java releases 下載最新的 JAR。

取得授權的步驟

  1. 免費試用 – 無償體驗此函式庫。
  2. 臨時授權 – 申請短期金鑰以延長評估時間。
  3. 購買 – 取得正式授權以供正式環境使用。

基本初始化與設定

將文件加入索引,首先建立一個指向索引檔案儲存資料夾的 Index 物件:

import com.groupdocs.search.Index;

// Initialize the index by specifying a directory path
Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\NumericRangeSearch");

此行程式碼會建立(或開啟)一個可接收文件的索引。

實作指南

建立與索引文件

如何將文件加入索引

add 方法會掃描資料夾,並為每個檔案儲存可搜尋的資料。

import com.groupdocs.search.Index;

// Initialize an index at the specified path
Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\NumericRangeSearch");

// Add documents from a directory for indexing
index.add("YOUR_DOCUMENT_DIRECTORY");
  • 參數: 路徑字串指向欲索引檔案所在的資料夾。
  • 目的: 完成此步驟後,索引將包含所有支援文件類型的詞彙,從而實現快速搜尋。

文字查詢搜尋

如何執行文字型數值範圍搜尋

你可以使用定義範圍的簡單字串進行搜尋。

import com.groupdocs.search.*;
import com.groupdocs.search.results.*;

// Define a query for numeric values within a specific range
String query1 = "400 ~~ 4000";

// Execute text-based search on indexed data
SearchResult result1 = index.search(query1);
  • 參數: 查詢字串 "400 ~~ 4000" 告訴引擎搜尋介於 400 至 4000 之間的數字。
  • 返回值: SearchResult 包含符合條件的文件清單與高亮顯示。

物件查詢搜尋

如何使用物件查詢進行數值範圍搜尋

物件型查詢讓你能以程式方式控制搜尋條件。

import com.groupdocs.search.*;
import com.groupdocs.search.results.*;

// Create a numeric range query object
SearchQuery query2 = SearchQuery.createNumericRangeQuery(400, 4000);

// Perform search using the query object
SearchResult result2 = index.search(query2);
  • 參數: createNumericRangeQuery 接收起始與結束的整數。
  • 目的: 當需要結合多個條件或動態建構查詢時,此方法非常適合。

實務應用

以下是一些 如何建立文件索引 能夠改變遊戲規則的真實情境:

  1. 法律文件管理 – 在成千上萬的合約中快速定位條款、案號或日期。
  2. 財務報表 – 抽取落在特定金額範圍內的交易。
  3. 庫存追蹤 – 依序號、批號或 SKU 範圍搜尋項目。

將 GroupDocs.Search 與資料庫、雲端儲存或訊息佇列整合,可進一步自動化文件工作流程。

效能考量

  • 定期更新索引: 針對新檔案重新執行 index.add,保持索引最新。
  • 資源管理: 監控堆積記憶體使用情況;大型索引可透過調整 JVM 垃圾回收設定獲得效能提升。
  • 查詢最佳化: 針對複雜篩選使用物件查詢,以減少不必要的掃描。

常見問題與解決方案

問題發生原因解決方式
搜尋無結果索引未建立或資料夾路徑不正確確認已在正確目錄執行 index.add,且索引資料夾具備寫入權限。
索引期間發生 OutOfMemoryError檔案過大或堆積記憶體不足提升 JVM -Xmx 設定或將檔案分批索引。
不支援的檔案格式檔案類型未被 GroupDocs.Search 識別確保檔案副檔名屬於支援清單(PDF、DOCX、XLSX 等)。

常見問答

Q: 如何使用新文件更新現有索引?
A: 再次呼叫 index.add("NEW_DOCUMENT_PATH");函式庫會合併新條目,無需重新建立整個索引。

Q: GroupDocs.Search 能處理不同的檔案格式嗎?
A: 能,支援 PDF、Word、Excel、PowerPoint、純文字以及其他多種常見格式。

Q: 使用 GroupDocs.Search 的系統需求是什麼?
A: Java 8+ 執行環境、足夠的記憶體(中等規模集合至少 2 GB),以及對索引資料夾的讀寫權限。

Q: 如何排除搜尋效能問題?
A: 確保索引為最新、分析查詢效能,並檢查 JVM 記憶體設定。減少索引欄位數量亦可提升速度。

Q: 是否可以使用同義詞或模糊匹配搜尋?
A: 可以,GroupDocs.Search 提供同義詞字典與模糊搜尋選項,可透過 SearchOptions 類別啟用。

結論

你現在已掌握 如何使用 GroupDocs.Search for Java 建立文件索引將文件加入索引,以及執行文字與物件查詢的技巧。將這些方法整合到你的 Java 應用程式中,即可在任何文件庫提供快速、精確的搜尋體驗。

準備好進一步探索了嗎?試試分面搜尋、同義詞處理,或將索引整合至 REST API,將搜尋功能提供給其他服務使用。


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