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 qua 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 tôi sẽ hướng dẫn cách cấu hình mạng tìm kiếm phân tán, lập chỉ mục các tệp của bạn, thực hiện truy vấn và cuối cùng làm nổi bật các kết quả ngay 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 các từ khóa tìm được trong tài liệu một cách lập trình 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 để xác định số lượng từ trước/sau mỗi kết quả sẽ được hiển thị.
  • Tôi 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 có thể dùng cho việc thử nghiệm; giấy phép đầy đủ là bắt buộc cho môi trường sản xuất.
  • Yêu cầu phiên bản Java nào? Java 8 hoặc cao hơn.
  • Phương pháp này có phù hợp với bộ sưu tập tài liệu lớn không? Chắc chắ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 trên các nút.

Highlight Search Results Java là gì?

Highlight search results java là quá trình lấy 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à làm nổi bật trực quan các đ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 xem ngữ cảnh của mỗi kết quả mà không cần mở toàn bộ tệp.

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

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

Yêu cầu trước

  • Bộ công cụ phát triển Java (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 được khuyến nghị).
  • Kiến trú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 của mình thông qua Maven hoặc tải JAR trực tiếp.

Cấu hình Maven

Thêm kho lưu trữ và phần phụ thuộc vào 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

  • Free Trial: Bắt đầu với bản dùng thử để khám phá các tính năng chính.
  • Temporary License: Nhận giấy phép thử kéo dài từ this page.
  • Purchase: Mua giấy phép đầy đủ cho triển khai sản xuất.

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

Tạo một phiên bản Index trỏ đến thư mục nơi chỉ mục tìm kiếm sẽ được lưu trữ:

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 kết quả tìm kiếm Java trong mạng phân tán

Cấu hình mạng tìm kiếm

Trước tiên, hãy xác định vị trí lưu 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 để 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 node dựa trên cấu hình. Node đầu tiên trở thành node chính.

import com.groupdocs.search.scaling.*;

SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);
SearchNetworkNode masterNode = nodes[0];
  • nodes – một 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 nút mạng tìm kiếm

Gắn các listener vào node chính để nhận thông báo theo 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 các thư mục trong nút mạng

Chỉ định node đến thư mục (các thư mục) bạn muốn lập chỉ mục. Lớp hỗ trợ Utils.DocumentsPath sẽ trỏ đến 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

Chạy truy vấn trên tất cả các node và truy xuất các tài liệu phù hợ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 thế "ipsum" bằng bất kỳ từ nào bạn cần tìm.
  • Phương thức highlightInDocument (được hiển thị tiếp theo) sẽ áp dụng 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 sau đâ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 thấy cách kiểm soát số lượng từ xung quanh, đáp ứng từ khóa 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ó giao diện 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 bạn hiển thị cho mỗi tài liệu.

Đóng các nút mạng

Khi hoàn tất, hãy tắt tất cả các node để giải phóng tài nguyên.

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

Ứng dụng thực tiễn

  • Enterprise Document Management: Tập trung quản lý tài liệu doanh nghiệp và cho phép nhân viên nhanh chóng tìm thấy các hợp đồng hoặc chính sách liên quan.
  • Legal Case Files: 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.
  • R&D Knowledge Bases: 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.
  • E‑commerce Catalogs: 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ả.
  • Library Systems: 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 được làm nổi bật mà không cần mở từng tệp.

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

  • Keep indexes fresh: 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 tăng dần.
  • Leverage multiple nodes: Phân phối việc lập chỉ mục và tải truy vấn trên nhiều nút để tránh tắc nghẽn.
  • Tune HighlightOptions: Giảm termsBefore/After sẽ giảm mức sử dụng 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

SymptomLikely CauseFix
Không có kết quả trả vềChỉ mục chưa được tạo hoặc trỏ tới thư mục saiXác minh 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ã hóa tài liệuTăng termsTotal hoặc đảm bảo mã hóa của 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 tệp 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

Q: 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?
A: Có, việ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.

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

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

Q: 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?
A: Hơn 50 định dạng, bao gồm DOCX, PDF, HTML, TXT, PPTX và nhiều hơn nữa.

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

Kết luận

Bằng cách làm theo hướng dẫn này, bạn hiện đã có một cấu hình hoàn chỉnh, sẵn sàng cho môi trường sản xuất cho highlight search results java sử dụng GroupDocs.Search. Bạn có thể mở rộng giải pháp trên một mạng lưới, lập chỉ mục bất kỳ loại tài liệu nào được hỗ trợ, thực hiện truy vấn nhanh và trả về các đoạn trích được làm nổi bật giúp người dùng tìm đúng những gì họ cần. Hãy khám phá các bước tiếp theo — tích hợp kết quả vào giao diện web, thêm tìm kiếm phân lớp, hoặc kết hợp với OCR cho các PDF đã quét.

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