.

Make sure to keep bold formatting.

Proceed to final answer.# Java 全文搜尋:使用 GroupDocs.Search 建立索引

在當今以數據為驅動的應用程式中,java full text search 是任何需要在大量文件集合中快速定位資訊的系統的核心。透過 GroupDocs.Search for Java,您可以建立強大的搜尋索引,微調字母字典,並在 search documents java 時大幅提升查詢的相關性。本指南將逐步說明從設定函式庫到自訂字元處理的每個步驟,讓您在 Java 專案中提供快速且精準的搜尋結果。

快速解答

  • What is “java full text search”? 它是建立索引的過程,使得在 Java 應用程式中能對大量檔案進行快速文字查詢。
  • Which library handles this out‑of‑the‑box? GroupDocs.Search for Java 提供即時可用的索引、字典管理與查詢執行功能。
  • Do I need a license? 免費試用版非常適合評估;正式上線則需要完整授權。
  • Can I customize character handling? 當然可以——使用字母字典來定義自訂字元類型。
  • Is Maven mandatory? Maven 簡化了相依性管理,但您也可以直接下載 JAR。

什麼是 java full text search 以及為何要管理字母字典?

一個 java full text search 索引會儲存文件的分詞表示,讓您能即時查找單詞或片語。字母字典告訴引擎如何處理每個字元(字母、數字、符號),這直接影響分詞與搜尋相關性——尤其是特殊符號或語言特定規則。

  • Speed: 索引儲存在磁碟上且能有效載入,提供次秒級的查詢時間。
  • Flexibility: 完全掌控字元類型,讓您能處理連字符、撇號或非拉丁文字。
  • Scalability: 能處理成千上萬的文件而不影響效能。
  • Ease of Integration: 簡單的 Maven 或直接下載設定即可快速上手。

前置條件

必要的函式庫、版本與相依性

  • GroupDocs.Search for Java(最新版本)。
  • 基本的 Java 開發知識。

環境設定需求

確保您擁有相容 Maven 的環境。如果尚未安裝 Maven,請從官方網站下載:Apache Maven

知識前提

熟悉 Java 語法與檔案 I/O 會有幫助,但以下的逐步指南已涵蓋所有必要內容。

設定 GroupDocs.Search for Java

Maven 設定

Add the repository and dependency to your pom.xml file:

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

直接下載

如果您不想使用 Maven,可從官方發佈頁面取得最新的 JAR:GroupDocs.Search for Java releases

取得授權步驟

  1. Free Trial – 先使用試用版以探索所有功能。
  2. Temporary License – 申請臨時金鑰以進行延長測試。
  3. Full License – 購買正式授權以無限制使用。

基本初始化與設定

Create an Index instance that points to the folder where the search index will be stored:

import com.groupdocs.search.*;

public class SearchIndexSetup {
    public static void main(String[] args) {
        String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\Index";
        Index index = new Index(indexFolder);
    }
}

實作指南

以下是建構 java full text search 解決方案時最常執行的操作的完整步驟說明。

建立或開啟索引

Initialize a new index or open an existing one:

import com.groupdocs.search.*;

String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\Index";
Index index = new Index(indexFolder);
  • Parameters: indexFolder – 索引檔案所在的路徑。
  • Purpose: 為後續的索引與查詢建立搜尋環境。

匯出字母字典至檔案

Save the current alphabet dictionary so you can reuse or analyze it later:

import com.groupdocs.search.dictionaries.*;

String fileName = "YOUR_OUTPUT_DIRECTORY\\Alphabet.dat";
index.getDictionaries().getAlphabet().exportDictionary(fileName);
  • Parameters: fileName – 匯出字典的目標檔案。

清除字母字典

Reset the dictionary to its default state before applying custom rules:

import com.groupdocs.search.dictionaries.*;

if (index.getDictionaries().getAlphabet().getCount() > 0) {
    index.getDictionaries().getAlphabet().clear();
}
  • Purpose: 移除所有先前定義的字元類型。

從檔案匯入字母字典

Restore a previously saved dictionary configuration:

import com.groupdocs.search.dictionaries.*;

index.getDictionaries().getAlphabet().importDictionary(fileName);
  • Parameters: fileName – 包含字典的 .dat 檔案路徑。

設定字母字典中的字元類型

Customize how specific characters are treated during tokenization:

import com.groupdocs.search.dictionaries.*;

if (index.getDictionaries().getAlphabet().getCharacterType('-') != CharacterType.Blended) {
    index.getDictionaries().getAlphabet().setRange(new char[] { '-' }, CharacterType.Blended);
}
  • Parameters: 字元 ('-') 以及其新的 CharacterType(例如 Blended)。
  • Why it matters: 調整字元類型可提升對連字符詞、識別碼或自訂符號的搜尋相關性。

從資料夾索引文件

Add all files in a directory to the search index:

import com.groupdocs.search.*;

String documentsFolder = "YOUR_DOCUMENT_DIRECTORY";
index.add(documentsFolder);
  • Parameters: documentsFolder – 包含您欲索引文件的資料夾。

在索引中搜尋

Execute a query and retrieve matching results:

import com.groupdocs.search.results.*;

String query = "Elliot-Murray-Kynynmound";
SearchResult result = index.search(query);
  • Parameters: query – 您要搜尋的文字。
  • Result: 包含匹配文件與摘要的 SearchResult 物件。

java full text search 的常見使用案例

  • Content Management Systems (CMS): 加速文章與資產的檢索。
  • Legal Document Repositories: 快速定位條款或案例參考。
  • Research Libraries: 索引成千上萬篇論文,以即時關鍵字搜尋。
  • E‑commerce Catalogs: 透過自訂分詞提升商品搜尋。
  • Customer Support Portals: 讓客服人員快速找到相關工單或知識庫文章。

效能考量

  • Incremental Updates: 僅重新索引新檔或變更的檔案,以保持索引新鮮且避免完整重建。
  • Query Optimization: 讓查詢保持簡潔;避免過於寬泛的通配符搜尋。
  • Resource Monitoring: 監控大批量索引時的記憶體使用情況,必要時調整 JVM 堆大小。
  • Dictionary Size: 只在修改字典時才匯出/匯入字母字典;不必要的 I/O 會拖慢啟動速度。

常見問答

Q: 使用 GroupDocs.Search 的前置條件是什麼?
A: 安裝 Java、Maven(或下載 JAR),並加入 GroupDocs.Search 相依性。

Q: 如何取得正式使用的授權?
A: 先使用免費試用版,申請臨時金鑰以延長測試,最後從 GroupDocs 入口網站購買完整授權。

Q: 我可以自訂字母字典中的字元類型嗎?
A: 可以——使用 setRange 為任意字元或範圍指派自訂的 CharacterType 值。

Q: 能否匯出與匯入字母字典?
A: 當然可以——使用 exportDictionaryimportDictionary 方法來保存或共享字典設定。

Q: 此指南測試使用的版本是哪個?
A: 範例已在 GroupDocs.Search for Java 版本 25.4 上驗證。


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