Làm nổi bật Kết quả Tìm kiếm Java bằng GroupDocs.Search

Nếu bạn đã chán ngấy việc phải lục lọi vô số tài liệu một cách thủ công, highlight search results java cung cấp một cách nhanh chóng, đáng tin cậy để hiển thị chính xác những gì bạn cần. Trong hướng dẫn này, chúng ta sẽ đi qua việc cấu hình mạng tìm kiếm phân tán, lập chỉ mục các tệp, chạy truy vấn và cuối cùng làm nổi bật các kết quả trực tiếp trong tài liệu. Khi hoàn thành, bạn sẽ có một giải pháp sẵn sàng cho môi trường sản xuất, có thể mở rộng trên nhiều nút và làm cho các thuật ngữ liên quan nổi bật ngay lập tức.

Câu trả lời nhanh

  • “highlight search results java” có nghĩa là gì? Nó đề cập đến việc đánh dấu chương trình các từ khóa tìm được bên trong tài liệu khi sử dụng các thư viện Java như GroupDocs.Search.
  • Tôi có thể làm nổi bật nhiều thuật ngữ trong cùng một tài liệu không? Có – sử dụng HighlightOptions để định nghĩa số lượng từ trước/sau mỗi kết quả sẽ được hiển thị.
  • Có cần giấy phép để chạy ví dụ này không? Một bản dùng thử miễn phí hoặc giấy phép tạm thời đủ cho việc thử nghiệm; giấy phép đầy đủ cần thiết cho môi trường sản xuất.
  • Yêu cầu phiên bản Java nào? Java 8 trở lên.
  • Cách tiếp cận này có phù hợp với bộ sưu tập tài liệu lớn không? Hoàn toàn – mạng tìm kiếm sẽ phân phối việc lập chỉ mục và tải truy vấn qua các nút.

Highlight Search Results Java là gì?

Highlight search results java là quá trình nhận một truy vấn tìm kiếm, xác định các đoạn khớp trong tài liệu của bạn, và nhấn mạnh trực quan những đoạn đó (ví dụ: bằng cách bao quanh chúng bằng dấu hiệu hoặc trả về chúng dưới dạng đoạn trích đã được làm nổi bật). Điều này giúp người dùng cuối dễ dàng nhìn thấy ngữ cảnh của mỗi kết quả mà không cần mở toàn bộ tệp.

Tại sao Highlight Search Results Java quan trọng

Sử dụng highlight search results java cải thiện trải nghiệm người dùng bằng cách hiển thị chính xác vị trí xuất hiện của một thuật ngữ, giảm thời gian mở các tệp không liên quan, và giúp các nhóm tuân thủ nhanh chóng xác định thông tin nhạy cảm. Khi kết hợp với mạng tìm kiếm phân tán, giải pháp vẫn đáp ứng nhanh ngay cả khi kho tài liệu mở rộng lên hàng triệu.

Tại sao nên dùng GroupDocs.Search để làm nổi bật?

GroupDocs.Search cung cấp một engine đã được tối ưu sẵn, hiệu suất cao, hỗ trợ hàng chục định dạng tệp, lập chỉ mục phân tán và bộ làm nổi bật đoạn tích hợp. Nó loại bỏ nhu cầu viết trình phân tích tùy chỉnh hoặc quản lý hạ tầng tìm kiếm cấp thấp, cho phép bạn tập trung vào việc mang lại trải nghiệm người dùng mượt mà.

Yêu cầu trước

  • Java Development Kit (JDK) 8+ – đảm bảo java -version trả về 1.8 hoặc cao hơn.
  • Maven – để quản lý phụ thuộc.
  • GroupDocs.Search for Java 25.4 – phiên bản được sử dụng trong toàn bộ hướng dẫn này.
  • Một IDE như IntelliJ IDEA hoặc Eclipse (tùy chọn nhưng được khuyến nghị).
  • Kiến thức cơ bản về Java và các khái niệm mạng.

Cài đặt GroupDocs.Search cho Java

Bạn có thể đưa thư viện vào dự án bằng Maven hoặc tải JAR trực tiếp.

Cài đặt Maven

Thêm repository và dependency vào file pom.xml của bạn:

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

Tải trực tiếp

Hoặc tải JAR mới nhất từ GroupDocs.Search for Java releases.

Các bước lấy giấy phép

  • Dùng thử miễn phí: Bắt đầu với bản dùng thử để khám phá các tính năng cốt lõi.
  • Giấy phép tạm thời: Nhận giấy phép thử kéo dài từ trang này.
  • Mua bản đầy đủ: Được cấp giấy phép toàn diện cho triển khai sản xuất.

Khởi tạo và cấu hình cơ bản

Tạo một đối tượng Index trỏ tới thư mục sẽ lưu trữ chỉ mục tìm kiếm:

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.");
    }
}

Hướng dẫn triển khai

Cách làm nổi bật Highlight Search Results Java trong mạng phân tán

Cấu hình Mạng Tìm kiếm

Đầu tiên, xác định vị trí tài liệu và cổng mà mạng sẽ sử dụng.

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 – thư mục gốc chứa các tệp bạn muốn lập chỉ mục.
  • basePort – cổng TCP cho việc giao tiếp giữa các nút; chọn một cổng chưa được sử dụng.

Triển khai các Nút Mạng Tìm kiếm

Triển khai một hoặc nhiều nút dựa trên cấu hình. Nút đầu tiên sẽ trở thành master.

import com.groupdocs.search.scaling.*;

SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);
SearchNetworkNode masterNode = nodes[0];
  • nodes – mảng chứa tất cả các nút đang chạy.
  • masterNode – điều phối việc lập chỉ mục và phân phối truy vấn.

Đăng ký sự kiện cho Nút Mạng Tìm kiếm

Gắn các listener vào master node để nhận thông báo thời gian thực (ví dụ: khi quá trình lập chỉ mục hoàn tất).

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

SearchNetworkNodeEvents.subscribe(masterNode);

Lập chỉ mục Thư mục trong Nút Mạng

Chỉ định thư mục (các thư mục) mà nút sẽ lập chỉ mục. Lớp trợ giúp Utils.DocumentsPath trỏ tới thư mục dữ liệu mẫu.

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

IndexingDocuments.addDirectories(masterNode, Utils.DocumentsPath);

Tìm kiếm Văn bản trên Các Nút Mạng

Thực hiện truy vấn trên tất cả các nút và lấy các tài liệu khớp.

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.
  • Thay "ipsum" bằng bất kỳ thuật ngữ nào bạn cần tìm.
  • Phương thức highlightInDocument (được hiển thị tiếp theo) sẽ thực hiện việc làm nổi bật.

Làm nổi bật Nhiều Thuật ngữ trong Tài liệu – Highlighting Search Results

Phương thức dưới đây minh họa cách làm nổi bật các đoạn quanh mỗi kết quả. Nó cũng cho phép kiểm soát số lượng từ xung quanh, đáp ứng yêu cầu phụ 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 – trả về các đoạn trích dạng văn bản thuần; bạn có thể chuyển sang HTML để có UI phong phú hơn.
  • HighlightOptions – kiểm soát số từ trước/sau mỗi kết quả được bao gồm (setTermsBefore, setTermsAfter).
  • maxFragments – giới hạn số đoạn trích hiển thị cho mỗi tài liệu.

Đóng các Nút Mạng

Khi công việc hoàn tất, tắt mọi nút để giải phóng tài nguyên.

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

Ứng dụng thực tiễn

  • Quản lý Tài liệu Doanh nghiệp: Tập trung các tệp công ty và cho phép nhân viên nhanh chóng tìm thấy hợp đồng hoặc chính sách liên quan.
  • Hồ sơ Pháp lý: Nhanh chóng hiển thị các tài liệu tiền lệ bằng cách làm nổi bật các thuật ngữ pháp lý quan trọng.
  • Kho tri thức R&D: Các nhà nghiên cứu có thể tìm kiếm bằng sáng chế hoặc bài báo kỹ thuật và xem các đoạn trích đã được làm nổi bật.
  • Danh mục Thương mại điện tử: Cho phép khách hàng tìm sản phẩm bằng từ khóa với các kết quả được làm nổi bật trong mô tả.
  • Hệ thống Thư viện: Người dùng có thể tìm kiếm qua hàng ngàn cuốn sách và xem các đoạn trích nổi bật mà không cần mở từng tệp.

Các lưu ý về hiệu năng

  • Giữ chỉ mục luôn cập nhật: Lập chỉ mục lại các tệp đã thay đổi mỗi đêm hoặc sử dụng cập nhật gia tăng.
  • Tận dụng nhiều nút: Phân phối việc lập chỉ mục và tải truy vấn để tránh tắc nghẽn.
  • Tinh chỉnh HighlightOptions: Giảm termsBefore/After sẽ giảm mức tiêu thụ bộ nhớ cho các tài liệu rất lớn.

Các vấn đề thường gặp & Khắc phục

Triệu chứngNguyên nhân khả dĩCách khắc phục
Không có kết quả trả vềChưa lập chỉ mục hoặc trỏ sai thư mụcKiểm tra Utils.DocumentsPath và chạy lại IndexingDocuments.addDirectories
Kết quả làm nổi bật rỗngHighlightOptions giới hạn quá thấp hoặc vấn đề mã hoá tài liệuTăng termsTotal hoặc đảm bảo mã hoá tài liệu được hỗ trợ
Lỗi xung đột cổngbasePort đã được sử dụngChọn một số cổng khác (ví dụ: 49117)
Ngoại lệ giấy phépThiếu hoặc giấy phép đã hết hạnĐặt file GroupDocs.Search.lic hợp lệ vào thư mục gốc của ứng dụng

Câu hỏi thường gặp

H: Tôi có thể triển khai nhiều nút mạng tìm kiếm để cân bằng tải không?
Đ: Có, triển khai nhiều nút sẽ phân phối công việc lập chỉ mục và truy vấn, cải thiện khả năng mở rộng và thời gian phản hồi.

H: Làm sao để làm nổi bật nhiều từ khóa tìm kiếm trong cùng một tài liệu?
Đ: Gửi danh sách các từ khóa tới phương thức highlight và cấu hình HighlightOptions để hiển thị các từ xung quanh mỗi kết quả.

H: Có thể đăng ký nhận sự kiện tìm kiếm thời gian thực không?
Đ: Chắc chắn. Sử dụng SearchNetworkNodeEvents.subscribe(masterNode) để nhận callback về tiến độ lập chỉ mục, thực thi truy vấn và lỗi.

H: GroupDocs.Search hỗ trợ những định dạng tệp nào để lập chỉ mục và làm nổi bật?
Đ: Hơn 50 định dạng, bao gồm DOCX, PDF, HTML, TXT, PPTX và nhiều hơn nữa.

H: Làm sao cải thiện tốc độ tìm kiếm trên bộ sưu tập rất lớn?
Đ: Cập nhật chỉ mục thường xuyên, phân phối chúng qua các nút, và tinh chỉnh HighlightOptions để giới hạn kích thước đoạn trích.


Cập nhật lần cuối: 2026-03-17
Kiểm thử với: GroupDocs.Search for Java 25.4
Tác giả: GroupDocs