Java 模糊搜尋:使用 GroupDocs.Search 將文件加入索引
在現代的 Java 應用程式中,java fuzzy search 是提供即時、相關結果於龐大文件集合的變革性技術。無論您是建立企業知識庫、法律資料庫,或是電子商務目錄,學會如何將文件加入索引並啟用進階搜尋功能,皆能讓使用者以快速且精準的方式取得資訊。本教學將帶您完成安裝 GroupDocs.Search for Java、建立索引、填充索引、開啟詞形(模糊)搜尋,以及為正式環境調校效能。
快速解答
- “add documents to index” 是什麼意思? 它指的是將來源檔案載入可供 GroupDocs.Search 查詢的可搜尋資料結構中。
- 需要哪個版本的函式庫? GroupDocs.Search for Java 25.4(或更新版本)包含此處示範的所有功能。
- 我需要授權嗎? 免費試用可用於開發;正式環境則需商業授權。
- 我可以搜尋不同的詞形嗎? 可以——在
SearchOptions中啟用setUseWordFormsSearch(true)。 - Maven 是唯一的安裝方式嗎? 不是,您也可以直接下載 JAR(請參考 Direct Download 連結)。
什麼是 “add documents to index”?
將文件加入索引表示掃描來源檔案、擷取可搜尋的文字,並將這些資訊以結構化格式儲存,以便快速查找。GroupDocs.Search 內建支援多種檔案類型,讓您專注於業務邏輯而非解析。產生的索引可儲存在磁碟或記憶體中,讓查詢時無需重新讀取原始檔案即可快速取得結果。
為何使用進階的 Java 文字搜尋技術?
只需載入一次索引,即可執行模糊、大小寫不敏感或相近度查詢,而無需重新處理檔案。啟用這些技術在實際測試中可提升召回率最高達 30 %,即使使用者未輸入精確的詞彙或拼寫,也能找到相關結果。
前置條件
- 必需的函式庫:GroupDocs.Search for Java 25.4。
- 環境設定:Java JDK 8 或更新版本、Maven(或手動 JAR 管理)。
- 知識前提:基本的 Java 程式設計與 Maven 依賴管理。
設定 GroupDocs.Search for Java
在撰寫任何程式碼之前,請確保您的專案已取得此函式庫。
Maven 設定
pom.xml 檔案是 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>
直接下載
如果您不想使用 Maven,也可以從官方頁面下載最新的 JAR: GroupDocs.Search for Java releases。
欲取得詳細使用說明,請參閱 GroupDocs Documentation。
取得授權步驟
- 免費試用 – 無償探索 API。
- 暫時授權 – 延長試用期以進行更深入測試。
- 購買 – 取得商業授權以供正式環境使用。
支援的搜尋檔案類型(Java)
GroupDocs.Search 支援 超過 50 種輸入與輸出格式,包括 DOCX、PDF、PPTX、XLSX、TXT、HTML 以及常見的影像類型,讓您幾乎可以索引任何業務使用的文件。
步驟式實作指南
1. 建立與設定索引
Index 類別是代表儲存在磁碟上的可搜尋儲存庫的最高層物件。
概觀
我們將在磁碟上建立一個資料夾,用於保存索引檔案。
程式碼
import com.groupdocs.search.Index;
String indexFolder = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/SearchForDifferentWordForms";
Index index = new Index(indexFolder);
說明:Index 建構子指向一個資料夾,所有索引資料將儲存在該處。請將 YOUR_DOCUMENT_DIRECTORY 替換為您機器上的實際路徑。
2. 如何將文件加入索引
add 方法會遞迴掃描資料夾、擷取文字,並將其儲存至索引中。
概觀
GroupDocs.Search 會掃描指定的目錄,並索引其中所有支援的檔案類型。
程式碼
String documentsFolder = "YOUR_DOCUMENT_DIRECTORY/DocumentsPath";
index.add(documentsFolder);
說明:確保路徑正確且應用程式具有讀取權限。此方法會分批處理檔案,以降低記憶體使用量。
3. 設定詞形搜尋的 Search Options
SearchOptions 包含控制查詢處理方式的參數。
概觀
我們將調整 SearchOptions 以開啟詞形(模糊)搜尋。
程式碼
import com.groupdocs.search.SearchOptions;
SearchOptions options = new SearchOptions();
options.setUseWordFormsSearch(true); // Enables search for different grammatical variations of words.
說明:設定 setUseWordFormsSearch(true) 會指示引擎擴展查詢,包含已知的詞形變化,提升對如 “wish”、 “wished”、 “wishes” 等變形的召回率。
4. 執行搜尋
SearchResult 包含匹配文件的清單與摘要片段。
概觀
我們將搜尋關鍵字 “wished”,並取得匹配的文件。
程式碼
import com.groupdocs.search.SearchResult;
String query = "wished";
SearchResult result = index.search(query, options);
說明:search 方法使用我們定義的選項對索引內容執行查詢。回傳的 SearchResult 為每筆命中提供文件參考與突顯的摘要片段。
常見問題與故障排除
- 路徑錯誤 – 請再次確認
indexFolder與documentsFolder是否有拼寫錯誤且具備正確的存取權限。 - 不支援的檔案格式 – 請確認您的文件屬於 GroupDocs.Search 文件中列出的 50+ 種格式之一。
- 效能緩慢 – 針對大型語料庫,請分批建立索引、監控 JVM 堆積使用情況,並將索引儲存在 SSD 上。
實務應用
- 企業文件管理 – 能在數千份檔案中快速定位政策、合約或人力資源手冊。
- 法律研究 – 即使用詞不完全相同,也能透過詞形搜尋找到先例案件。
- 電商目錄 – 讓購物者以多樣化的詞彙搜尋商品說明,提升轉換率。
效能建議
- 只有在新增文件或現有文件變更時才重新索引。
- 使用 Java 的
-Xmx參數為大型索引分配足夠的堆積記憶體(例如-Xmx4g)。 - 定期呼叫
index.optimize()(若支援)以壓縮索引檔案並減少磁碟 I/O。
結論
現在您已了解如何 add documents to index、啟用 java fuzzy search,並微調 GroupDocs.Search for Java。這些技術讓您能在任何文件集合上構建即時且功能豐富的搜尋體驗。
後續步驟
- 嘗試模糊匹配與自訂排序。
- 將搜尋模組整合至 REST API 供前端使用。
- 透過設定特定語言的分析器,探索多語言支援。
常見問答
Q1: GroupDocs.Search 支援哪些格式?
A1: 支援超過 50 種格式,包括 DOCX、PDF、PPTX、XLSX、TXT、HTML 以及常見的影像類型。完整列表請參閱官方文件。
Q2: 如何使用新文件更新我的索引?
A2: 再次呼叫 index.add(newDocumentsFolder);函式庫只會加入新檔或已變更的檔案,既有條目保持不變。
Q3: 我可以進一步自訂搜尋查詢嗎?
A3: 可以——SearchOptions 提供模糊搜尋、大小寫敏感度、結果分頁以及自訂排序演算法等選項。
Q4: 我的搜尋速度很慢——該怎麼辦?
A4: 將索引儲存在高速 SSD 上,增加 JVM 堆積大小(-Xmx),並避免索引不必要的大檔案。同時,僅在需要時才啟用詞形搜尋。
Q5: 我可以從哪裡取得社群協助?
A5: 使用官方支援論壇: GroupDocs Support Forum。
最後更新: 2026-05-22
測試環境: GroupDocs.Search 25.4 for Java
作者: GroupDocs