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

在當今資料驅動的世界裡,如何索引文件 效率高是一項任何處理大量檔案的 Java 開發者必備的關鍵技能。無論您在處理法律合約、財務報表或內部報告,完善的搜尋索引都能讓您在數秒內找到精確資訊,而不必花上數小時手動掃描。本教學將帶您建立搜尋索引、加入文件,並使用 GroupDocs.Search for Java 執行文字與物件查詢。

快速解答

  • 索引文件的第一步是什麼? 建立指向索引檔案儲存資料夾的 Index 實例。
  • 哪個方法可將文件加入索引? 呼叫 index.add("PATH_TO_DOCUMENTS") 以掃描目錄並匯入支援的檔案。
  • 我可以搜尋數值範圍嗎? 可以 – 使用類似 "400 ~~ 4000" 的文字查詢,或透過 SearchQuery.createNumericRangeQuery 進行物件查詢。createNumericRangeQuery 方法會建立數值範圍查詢物件。
  • 我需要授權嗎? 免費試用可用於評估;商業授權可解鎖完整功能並移除使用限制。
  • 需要哪個 Java 版本? 支援 JDK 8 或更高版本。

什麼是使用 GroupDocs.Search 索引文件?

索引文件會為每個檔案建立可搜尋的標記儲存庫,讓引擎在不每次讀取原始檔案的情況下取得匹配結果。此前置處理步驟將原始內容轉換為可在毫秒內查詢的最佳化索引。索引儲存詞彙、位置與中繼資料,支援快速的片語與相近度搜尋,涵蓋所有支援的文件類型。

為什麼使用 GroupDocs.Search for Java?

在標準的 2‑CPU、8 GB VM 上,對 10 000 個(平均 1 KB)檔案的搜尋操作通常在 50 ms 以內完成。此函式庫支援 30+ 輸入與輸出格式——包括 PDF、DOCX、XLSX、PPTX、TXT 與 HTML——讓您幾乎可以索引任何商業文件,無需額外轉換器。彈性的 API 讓您結合純文字查詢、數值範圍與複雜的物件查詢,同時增量更新可在不重新建構整個索引的情況下加入新檔案。

先決條件

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

設定 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 物件:

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、PPTX、TXT、HTML 等)。

常見問答

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

Q: GroupDocs.Search 能處理不同的檔案格式嗎?
A: 可以,它支援 30+ 種格式——包括 PDF、DOCX、XLSX、PPTX、TXT 與 HTML——讓您幾乎可以索引任何商業文件。

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

Q: 如何排除搜尋效能問題?
A: 保持索引即時更新、分析查詢效能,並檢查 JVM 記憶體設定。減少索引欄位或使用物件查詢亦可加速執行。

Q: 是否支援同義詞或模糊匹配?
A: 支援,您可以透過 SearchOptions 類別啟用同義詞字典與模糊搜尋,以在不犧牲相關性的前提下擴大匹配範圍。SearchOptions 類別負責設定同義詞與模糊匹配等進階搜尋行為。


最後更新: 2026-08-10
測試版本: GroupDocs.Search 25.4 for Java
作者: GroupDocs

相關教學