實作 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);
}

實務應用

  1. 法律文件審查 – 在數千份合約中秒級定位特定條款。
  2. 學術研究 – 從研究論文中抽取關鍵片語,以支援文獻回顧。
  3. 客服支援 – 從電子郵件存檔中找出常見問題,優化 FAQ 頁面。
  4. 內容管理 – 為文章與部落格高亮 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

相關教學