精通 GroupDocs.Search(Java) - 索引管理與文件搜尋完整指南

簡介

您是否在為大量文件的索引與搜尋而感到困擾?無論是處理法律檔案、學術論文,或是企業報告,快速且精確地 建立索引 都是關鍵。GroupDocs.Search for Java 讓這個過程變得簡單,只需幾行程式碼即可將文件加入索引、執行模糊搜尋,並執行進階查詢。

以下內容將帶您從環境設定到打造複雜搜尋查詢,完整掌握所有必要步驟。

快速答覆

  • GroupDocs.Search 的主要目的為何? 為各種文件格式建立可搜尋的索引。
  • 建立索引後可以再加入文件嗎? 可以——使用 index.add() 方法加入新檔案。
  • GroupDocs.Search 在 Java 中支援模糊搜尋嗎? 當然;可透過 SearchOptions 開啟。
  • 如何在 Java 中執行萬用字元查詢? 使用 SearchQuery.createWildcardQuery() 建立。
  • 正式環境需要授權嗎? 商業部署必須使用有效的 GroupDocs.Search 授權。

「如何建立索引」在 GroupDocs.Search 中的意義

建立索引即是掃描一或多個來源文件、擷取可搜尋的文字,並將這些資訊以結構化格式儲存,以便能高效查詢。完成的索引可在成千上萬的檔案中實現閃電般的快速查找。

為何選擇 GroupDocs.Search for Java?

  • 廣泛的格式支援: PDF、Word、Excel、PowerPoint 等多種檔案。
  • 內建語言功能: 模糊搜尋、萬用字元與正規表達式等功能即時可用。
  • 可擴展的效能: 可配置記憶體使用量,處理大型文件集合。

前置條件

  • GroupDocs.Search for Java 版本 25.4 或更新版本。
  • 能處理 Maven 專案的 IDE,例如 IntelliJ IDEA 或 Eclipse。
  • 已在機器上安裝 JDK。
  • 具備基本的 Java 與搜尋概念知識。

設定 GroupDocs.Search for Java

您可以透過 Maven 加入函式庫,或手動下載。

Maven 設定:

<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 版本發佈 下載最新版本。

授權取得

  • 免費試用: 無需付費即可體驗功能。
  • 臨時授權: 延長試用期間。
  • 正式授權: 生產環境必須使用。

取得函式庫後,於 Java 程式碼中初始化:

import com.groupdocs.search.*;

public class InitializeSearch {
    public static void main(String[] args) {
        // Create an index instance
        Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output");
        
        System.out.println("GroupDocs.Search initialized successfully.");
    }
}

實作指南

使用 GroupDocs.Search 建立索引

本節將一步步說明如何建立索引並將文件加入索引。

定義路徑

String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\output\\CreateAndIndexDocuments";
String documentsFolder = "YOUR_DOCUMENT_DIRECTORY";

建立索引

Index index = new Index(indexFolder);
System.out.println("Index created at: " + indexFolder);

將文件加入索引

index.add(documentsFolder);
System.out.println("Documents added to the index.");

專業提示: 請確保目錄已存在且僅包含您希望搜尋的檔案;不相關的檔案會使索引變得龐大。

使用模糊搜尋選項的簡易文字查詢(fuzzy search java)

當使用者輸入錯字或 OCR 產生錯誤時,模糊搜尋能提供協助。

SearchQuery subquery = SearchQuery.createWordQuery("future");
subquery.setSearchOptions(new SearchOptions());
subquery.getSearchOptions().getFuzzySearch().setEnabled(true);
subquery.getSearchOptions().getFuzzySearch()
        .setFuzzyAlgorithm(new TableDiscreteFunction(3));
System.out.println("Fuzzy search enabled with a tolerance of 3.");

Java 萬用字元查詢

萬用字元查詢允許您匹配例如以特定前綴開頭的任意單詞。

SearchQuery subquery = SearchQuery.createWildcardQuery(1);
System.out.println("Wildcard query created.");

Java 正規表達式搜尋

正規表達式提供細緻的模式匹配控制,適合尋找重複字元或複雜的字元結構。

SearchQuery subquery = SearchQuery.createRegexQuery("(.)\\1");
System.out.println("Regex query created to find repeated characters.");

將子查詢組合成片語搜尋查詢

您可以混合文字、萬用字元與正規表達式子查詢,構建高階的片語搜尋。

SearchQuery subquery1 = SearchQuery.createWordQuery("future");
SearchQuery subquery2 = SearchQuery.createWildcardQuery(1);
SearchQuery subquery3 = SearchQuery.createRegexQuery("(.)\\1");
SearchQuery combinedQuery = SearchQuery.createPhraseSearchQuery(subquery1, subquery2, subquery3);
System.out.println("Combined phrase search query created.");

使用自訂選項配置與執行搜尋

調整搜尋選項可控制回傳的出現次數,對於大型語料庫特別有用。

SearchOptions options = new SearchOptions();
options.setMaxOccurrenceCountPerTerm(1000000);
options.setMaxTotalOccurrenceCount(10000000);
System.out.println("Custom search options configured.");
Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\ConfigureAndPerformSearch");
SearchQuery query = SearchQuery.createWordQuery("future");

SearchResult result = index.search(query, options);
System.out.println("Search performed with custom options.");

實務應用

  1. 法律文件管理: 快速定位案例法、法規與先例。
  2. 學術研究: 索引數千篇研究論文,秒級檢索引用。
  3. 商業報告分析: 在多份季報中精準找出財務數字。
  4. 內容管理系統(CMS): 為終端使用者提供快速、精確的部落格與文章搜尋。
  5. 客服知識庫: 立即抓取相關故障排除指南,縮短回應時間。

效能考量

  • 優化索引: 定期重新索引並移除過時檔案,以保持索引精簡。
  • 資源使用: 監控 JVM 堆積大小;大型索引可能需要更多記憶體或使用堆外儲存。
  • 垃圾回收: 為長時間執行的搜尋服務調整 GC 設定,避免暫停。

結論

透過本指南,您已掌握 如何建立索引、將文件加入索引,以及在 Java 中使用模糊、萬用字元與正規表達式搜尋的技巧。這些功能讓您能構建可隨資料規模成長的強大搜尋體驗。

常見問答

Q: 可以在不重新建構的情況下更新既有索引嗎?
A: 可以——使用 index.add() 追加新檔案,或使用 index.update() 重新整理已變更的文件。

Q: 模糊搜尋如何處理不同語言?
A: 內建的模糊演算法支援 Unicode 字元,因而可直接處理大多數語言。

Q: 索引的文件數量有上限嗎?
A: 實際上限取決於可用磁碟空間與 JVM 記憶體;此函式庫設計可支援數百萬文件。

Q: 更改搜尋選項後需要重新啟動應用程式嗎?
A: 不需要——搜尋選項於每次查詢時套用,您可以即時調整。

Q: 哪裡可以找到更進階的查詢範例?
A: 官方的 GroupDocs.Search 文件與 API 參考提供大量複雜情境的範例。


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