實作 GroupDocs.Search Java 以文件搜尋
在當今資料驅動的環境中,implement groupdocs search java 對於任何需要在 PDF、Word 檔案、試算表等文件中快速、可靠進行全文搜尋的應用程式都是必不可少的。無論您是建立法律合約資料庫、學術研究入口網站,或是客服知識庫,本教學都會一步步說明如何安裝 SDK、建立索引、執行模糊查詢,以及產生帶有高亮搜尋詞彙的 HTML——全部使用 Java。
快速解答
- 什麼函式庫可協助實作 groupdocs search java? GroupDocs.Search for Java.
- 我可以在結果中以 Java 突顯搜尋詞彙嗎? 是的——產生的 HTML 可以自動以
<mark>標籤包住匹配項。 - 生產環境是否需要授權? 提供免費試用;商業使用需購買正式授權。
- 哪個 IDE 最適合? 任何 Java IDE——IntelliJ IDEA、Eclipse 或 VS Code。
- 是否支援 Maven? 當然支援——將儲存庫與相依性加入
pom.xml即可。
GroupDocs.Search for Java 是什麼?
GroupDocs.Search 是一套 Java SDK,能在超過 50+ 種文件格式(PDF、DOCX、XLSX、PPTX、TXT 等)中建立索引並搜尋文字,且不需將整個檔案載入記憶體。它提供模糊匹配、布林運算子、片語查詢以及內建結果高亮功能,是可直接使用的文件搜尋解決方案。
為何在 Java 中使用 GroupDocs.Search 進行文件搜尋?
它提供高速的索引搜尋,對 10 k 文件的查詢可在 10 ms 內返回結果;具彈性的模糊搜尋、布林邏輯、片語查詢與同義詞擴展;透過產生 HTML 預覽自動標記匹配項的高亮功能;以及可在本地、雲端或混合環境中擴展,處理多百頁檔案而不會過度佔用記憶體。
前置條件
- Java Development Kit (JDK) 8 或以上。
- Maven(或手動管理 JAR)。
- 任一 IDE,例如 IntelliJ IDEA、Eclipse 或 VS Code。
- 基本的 Java 專案結構與 Maven 使用經驗。
設定 GroupDocs.Search for Java
透過 Maven 安裝
將 GroupDocs 儲存庫與 Search 相依性加入您的 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>
直接下載
如果不想使用 Maven,請從官方發行頁面下載最新 JAR: GroupDocs.Search for Java releases。
取得授權步驟
- 免費試用: 先啟用免費試用以探索功能。
- 臨時授權: 透過 GroupDocs 官方網站 取得。
- 購買: 購買正式授權以獲得無限制的生產使用權。
基本初始化與設定
Index 類別是代表儲存在磁碟上的可搜尋索引的核心元件。建立索引資料夾後,您即可實例化 Index 物件,以加入、刪除或查詢文件:
String indexFolder = "YOUR_DOCUMENT_DIRECTORY/ObtainSearchResultInformation";
Index index = new Index(indexFolder);
如何在 Java 中搜尋文件 – 功能 1:提取搜尋結果資訊
本功能說明如何執行查詢、取得匹配文件,並取得每個詞彙的詳細出現資料。依照步驟操作,即可建構分析儀表板或產生詳細報告。
步驟 1:建立索引
Index 類別是儲存可搜尋中繼資料於磁碟上的最高層物件。建立它即指向所有索引檔案將存放的資料夾:
String indexFolder = YOUR_DOCUMENT_DIRECTORY + "/ObtainSearchResultInformation";
Index index = new Index(indexFolder);
index.add(documentFolder);
步驟 2:設定搜尋選項(啟用模糊搜尋)
SearchOptions 讓您微調查詢行為。將 FuzzySearch 設為 true 即可啟用近似匹配,對於拼寫錯誤或 OCR 錯誤特別有用:
SearchOptions options = new SearchOptions();
options.getFuzzySearch().setEnabled(true);
options.getFuzzySearch().setFuzzyAlgorithm(new TableDiscreteFunction(3));
步驟 3:執行搜尋
Index.search 針對已建好的索引執行查詢,並回傳包含匹配文件與詞彙出現資訊的 SearchResult 集合:
String query = "favourable OR \"ipsum dolor\"";
SearchResult result = index.search(query, options);
SearchResult 物件包含符合查詢的文件清單以及其相關性分數。
步驟 4:提取出現位置
每個 SearchResult 項目提供 getOccurrences(),可返回查詢詞彙在原始檔案中的精確位置,方便您建構分析儀表板或詳細報告:
for (int i = 0; i < result.getDocumentCount(); i++) {
FoundDocument document = result.getFoundDocument(i);
for (FoundDocumentField field : document.getFoundFields()) {
if (field.getTerms() != null) {
for (String term : field.getTerms()) {
int occurrences = field.getTermsOccurrences()[field.getTerms().indexOf(term)];
System.out.println("Term: " + term + ", Occurrences: " + occurrences);
}
}
if (field.getTermSequences() != null) {
for (String[] terms : field.getTermSequences()) {
int occurrences = field.getTermSequencesOccurrences()[ArrayUtils.indexOf(field.getTermSequences(), terms)];
StringBuilder sequence = new StringBuilder();
for (String term : terms) {
sequence.append(term).append(" ");
}
System.out.println("Phrase: " + sequence.toString() + ", Occurrences: " + occurrences);
}
}
}
}
功能 2:在文件中以 Java 突顯搜尋詞彙
產生 HTML 預覽,將每個匹配項以 <mark> 標籤包住,讓最終使用者即時獲得視覺提示。
步驟 1:使用高壓縮設定索引
高壓縮可將儲存空間減少 最高 70 %,同時保持毫秒級的查詢速度。於索引前調整 CompressionLevel 屬性:
String indexFolder = YOUR_DOCUMENT_DIRECTORY + "/HighlightSearchResults";
IndexSettings settings = new IndexSettings();
settings.setTextStorageSettings(new TextStorageSettings(Compression.High));
Index index = new Index(indexFolder, settings);
index.add(documentFolder);
步驟 2:執行搜尋並突顯結果
執行搜尋後,對 SearchResult 物件呼叫 highlight(),即可產生將每個查詢詞彙以 <mark> 標籤包住的 HTML 檔案:
SearchResult result = index.search("solicitude");
if (result.getDocumentCount() > 0) {
FoundDocument document = result.getFoundDocument(0);
String path = YOUR_OUTPUT_DIRECTORY + "/Highlighted.html";
OutputAdapter outputAdapter = new FileOutputAdapter(OutputFormat.Html, path);
Highlighter highlighter = new DocumentHighlighter(outputAdapter);
index.highlight(document, highlighter);
}
實務應用
- 法律文件審查 – 在數千份合約中秒級定位特定條款。
- 學術研究 – 從研究論文中抽取關鍵片語,以支援文獻回顧。
- 客服支援 – 從電子郵件存檔中找出常見問題,優化 FAQ 頁面。
- 內容管理 – 為文章與部落格高亮 SEO 關鍵字,快速進行編輯檢查。
效能考量
- 壓縮: 高壓縮可減少儲存空間,但可能增加 CPU 使用率;請以實際工作負載進行基準測試。
- 記憶體管理: 將文件分批(500 – 1 000 份)索引,以控制 JVM 堆積大小。
- 索引刷新: 每晚重新索引變更的檔案,確保搜尋結果保持最新。
結論
本指南示範了如何 implement groupdocs search java、提取詳細結果資訊,並在 HTML 預覽中 highlight search terms java。依照上述步驟,您即可為任何文件資料庫提供快速、使用者友好的搜尋體驗。
後續步驟
- 使用
<iframe>或伺服器端渲染將高亮的 HTML 嵌入您的 Web UI。 - 嘗試額外的
SearchOptions,如SynonymSearch或WildcardSearch。 - 深入閱讀 GroupDocs.Search API 參考文件,了解自訂計分、結果分頁與多語言支援等進階功能。
常見問題
Q:什麼是 GroupDocs.Search?
A:GroupDocs.Search 是一套 Java SDK,能在超過 50 種文件格式中建立索引與搜尋文字,提供模糊匹配與結果高亮功能。
Q:模糊搜尋如何運作?
A:它容許設定的字元差異數量,因而能匹配拼寫錯誤或 OCR 錯誤的詞彙。
Q:我可以在沒有授權的情況下使用 GroupDocs.Search 嗎?
A:可以使用免費試用版,但正式的生產環境必須購買完整授權。
Q:支援哪些檔案格式?
A:PDF、DOCX、XLSX、PPTX、TXT 等等——完整列表請參考官方文件。
Q:如何在 Web 應用程式中顯示突顯的結果?
A:直接提供產生的 HTML 檔案,或使用 <iframe> 或伺服器端渲染將其內容嵌入頁面。
Last Updated: 2026-07-26
Tested With: GroupDocs.Search 25.4
Author: GroupDocs