but keep label? The label is part of text. We’ll translate “Last Updated:” to “最後更新:” and keep date.

Tested With: -> “測試環境:” maybe.

Author: -> “作者:” .

Now produce final markdown.

Make sure to keep code block placeholders unchanged.

Also ensure no extra spaces messing.

Let’s craft final answer.# 使用 GroupDocs.Search 的 Java 高亮搜尋結果

如果你已厭倦手動篩選無盡的文件,highlight search results java 提供了一種快速、可靠的方式,直接找出你需要的內容。在本教學中,我們將逐步說明如何設定分散式搜尋網路、建立索引、執行查詢,最後在文件內直接高亮顯示匹配結果。完成後,你將擁有一套可在多節點上擴展的生產就緒解決方案,讓相關詞彙即時突顯。

快速回答

  • 「highlight search results java」是什麼意思? highlight search results java 是指在使用 Java 函式庫(如 GroupDocs.Search)時,以程式方式標記文件中找到的關鍵字。
  • 我可以在同一文件中高亮多個詞彙嗎? 可以 – 使用 HighlightOptions 來定義每個匹配前後顯示的詞彙數量。
  • 執行此範例需要授權嗎? 需要 – 測試時可使用免費試用或臨時授權,正式上線則需完整授權。
  • 需要哪個 Java 版本? 需要 Java 8 或更新版本。
  • 此方法適用於大型文件集合嗎? 絕對適用 – 搜尋網路會在多節點間分散索引與查詢負載。

什麼是 Highlight Search Results Java?

Highlight search results java 是指根據搜尋查詢,找出文件中匹配的片段,並以視覺方式強調這些片段(例如以標記包圍或返回高亮片段)。如此一來,最終使用者無需開啟整個檔案即可看到每個匹配的上下文。

為何 Highlight Search Results Java 很重要

使用 highlight search results java 可提升使用者體驗,精確顯示詞彙出現位置,減少開啟不相關檔案的時間,並協助合規團隊快速定位敏感資訊。結合分散式搜尋網路後,即使文件數量達到百萬級別,系統仍能保持回應速度。

為何使用 GroupDocs.Search 進行高亮

GroupDocs.Search 提供即用的高效能引擎,支援數十種檔案格式、分散式索引以及內建的片段高亮功能。它免除自行編寫解析器或管理底層搜尋基礎設施的需求,讓你專注於提供流暢的使用者體驗。

前置條件

  • Java Development Kit (JDK) 8+ – 確認 java -version 顯示 1.8 或更高。
  • Maven – 用於相依性管理。
  • GroupDocs.Search for Java 25.4 – 本指南所使用的版本。
  • IntelliJ IDEAEclipse 等 IDE(非必須,但建議使用)。
  • 具備 Java 與網路概念的基礎知識。

設定 GroupDocs.Search for Java

你可以透過 Maven 或直接下載 JAR 檔的方式將函式庫加入專案。

Maven 設定

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>

直接下載

或者,從 GroupDocs.Search for Java releases 下載最新的 JAR。

取得授權步驟

  • Free Trial: 先使用試用版以探索核心功能。
  • Temporary License:此頁面 取得延長測試授權。
  • Purchase: 取得正式授權以供生產環境使用。

基本初始化與設定

建立指向儲存搜尋索引資料夾的 Index 實例:

import com.groupdocs.search.*;

public class SearchSetup {
    public static void main(String[] args) {
        // Create an instance of Index
        Index index = new Index("path/to/index/directory");
        System.out.println("GroupDocs.Search initialized successfully.");
    }
}

實作指南

如何在分散式網路中使用 Highlight Search Results Java

設定搜尋網路

首先,定義文件所在位置以及網路使用的埠號。

import com.groupdocs.search.common.*;
import com.groupdocs.search.scaling.configuring.*;

String basePath = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Scaling/HighlightingResultsInNetwork/";
int basePort = 49116; // Change if port is busy

Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
  • basePath – 包含欲索引檔案的根目錄。
  • basePort – 節點間通訊的 TCP 埠號,請選擇未被使用的埠。

部署搜尋網路節點

根據設定部署一個或多個節點,第一個節點會成為主節點。

import com.groupdocs.search.scaling.*;

SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);
SearchNetworkNode masterNode = nodes[0];
  • nodes – 所有執行中節點的陣列。
  • masterNode – 協調索引與查詢分配。

訂閱搜尋網路節點事件

將監聽器附加至主節點,以即時接收通知(例如索引完成時)。

import com.groupdocs.search.scaling.events.*;

SearchNetworkNodeEvents.subscribe(masterNode);

在網路節點中索引目錄

將節點指向欲索引的資料夾。輔助類別 Utils.DocumentsPath 會解析為範例資料夾。

import com.groupdocs.search.examples.Utils;
import com.groupdocs.search.options.*;

IndexingDocuments.addDirectories(masterNode, Utils.DocumentsPath);

在網路節點間搜尋文字

所有 節點執行查詢,並取得匹配的文件。

import java.util.ArrayList;
import com.groupdocs.search.scaling.results.*;

ArrayList<NetworkFoundDocument> documents = TextSearchInNetwork.searchAll(masterNode, "ipsum", false);
highlightInDocument(masterNode, documents.get(0), 3); // Highlight results from the first found document.
  • "ipsum" 替換為你想搜尋的任意詞彙。
  • 接下來示範的 highlightInDocument 方法會套用高亮。

Highlight Multiple Terms Document – Highlighting Search Results

以下方法示範如何在每個匹配周圍高亮片段,同時說明如何控制周圍詞彙數量,以符合次要關鍵字 highlight multiple terms document

import com.groupdocs.search.highlighters.*;
import com.groupdocs.search.options.*;

public static void highlightInDocument(
    SearchNetworkNode node,
    NetworkFoundDocument document,
    int maxFragments) {
    
    Searcher searcher = node.getSearcher();
    FragmentHighlighter highlighter = new FragmentHighlighter(OutputFormat.PlainText);

    HighlightOptions options = new HighlightOptions();
    options.setTermsAfter(5);
    options.setTermsBefore(5);
    options.setTermsTotal(15);

    searcher.highlight(document, highlighter, options); // Perform highlighting on the document.

    FragmentContainer[] result = highlighter.getResult();
    for (FragmentContainer container : result) {
        if (container.getCount() == 0) continue;

        String[] fragments = container.getFragments();
        int count = Math.min(fragments.length, maxFragments);
        for (int j = 0; j < count; j++) {
            // Print each fragment within the specified limit.
        }
    }
}
  • OutputFormat.PlainText – 回傳純文字片段;若需更豐富的 UI 可切換為 HTML。
  • HighlightOptions – 控制每個匹配前後包含的詞數(setTermsBeforesetTermsAfter)。
  • maxFragments – 限制每份文件顯示的片段數量上限。

關閉網路節點

完成後,關閉所有節點以釋放資源。

for (SearchNetworkNode node : nodes) {
    node.close();
}

實務應用

  • Enterprise Document Management: 集中企業檔案,讓員工即時找到相關合約或政策。
  • Legal Case Files: 透過高亮關鍵法律詞彙,快速找出先例文件。
  • R&D Knowledge Bases: 研究人員可搜尋專利或技術文件,並看到高亮的摘錄。
  • E‑commerce Catalogs: 讓購物者透過關鍵字搜尋,並在商品說明中看到高亮匹配。
  • Library Systems: 讀者可在數千本書中搜尋,並在不開啟檔案的情況下查看高亮段落。

效能考量

  • Keep indexes fresh: 每晚重新索引變更的檔案或使用增量更新。
  • Leverage multiple nodes: 分散索引與查詢負載,以避免瓶頸。
  • Tune HighlightOptions: 減少 termsBefore/After 可降低大型文件的記憶體使用量。

常見問題與除錯

症狀可能原因解決方法
未返回結果索引未建立或指向錯誤的資料夾驗證 Utils.DocumentsPath 並再次執行 IndexingDocuments.addDirectories
高亮輸出為空HighlightOptions 限制過低或文件編碼問題增加 termsTotal 或確保文件的編碼受支援
埠衝突錯誤basePort 已被使用選擇其他埠號(例如 49117)
授權例外缺少或過期的授權檔案將有效的 GroupDocs.Search.lic 檔案放置於應用程式根目錄

常見問答

Q: 我可以部署多個搜尋網路節點以進行負載平衡嗎?
A: 可以,部署多個節點可分散索引與查詢工作,提升可擴展性與回應速度。

Q: 如何在同一文件中高亮多個搜尋詞彙?
A: 將詞彙清單傳入 highlight 方法,並設定 HighlightOptions 以顯示每個匹配的周圍詞彙。

Q: 能否訂閱即時搜尋事件?
A: 完全可以。使用 SearchNetworkNodeEvents.subscribe(masterNode) 取得索引進度、查詢執行與錯誤的回呼。

Q: GroupDocs.Search 支援哪些檔案格式的索引與高亮?
A: 超過 50 種格式,包括 DOCX、PDF、HTML、TXT、PPTX 等。

Q: 如何提升在極大集合上的搜尋速度?
A: 定期更新索引、在多節點間分散索引,並微調 HighlightOptions 以限制片段大小。


最後更新: 2026-03-17
測試環境: GroupDocs.Search for Java 25.4
作者: GroupDocs