Đánh dấu Văn bản Java với GroupDocs.Search
Trong môi trường kỹ thuật số ngày nay, khả năng highlight text java trên các bộ sưu tập tệp lớn là một tính năng không thể thiếu. Dù bạn đang xây dựng nền tảng xem xét pháp lý, công cụ tìm kiếm nghiên cứu học thuật, hay bảng điều khiển hỗ trợ khách hàng, việc nhanh chóng phát hiện các thuật ngữ người dùng đang tìm kiếm sẽ làm trải nghiệm trở nên hiệu quả hơn rất nhiều. Hướng dẫn này sẽ chỉ cho bạn cách sử dụng GroupDocs.Search for Java để search documents java, index documents java, và áp dụng việc đánh dấu phong phú — cả cho toàn bộ tài liệu và cho các đoạn văn bản tập trung.
Câu trả lời nhanh
- “search and highlight text” có nghĩa là gì? Nó đề cập đến việc tìm kiếm các từ khóa trong tài liệu và làm nổi bật chúng một cách trực quan (ví dụ: bằng màu nền).
- Thư viện nào cung cấp khả năng này? GroupDocs.Search for Java.
- Có cần giấy phép không? Bản dùng thử miễn phí đủ cho việc đánh giá; cần giấy phép đầy đủ cho môi trường sản xuất.
- Có thể tùy chỉnh màu đánh dấu không? Có — bất kỳ màu RGB nào cũng có thể được đặt qua
HighlightOptions. - Có hỗ trợ đánh dấu đoạn văn không? Hoàn toàn có; bạn có thể định nghĩa số từ trước/sau kết quả để tạo các đoạn trích ngắn gọn.
Cách Đánh dấu Văn bản Java trong Tài liệu
Việc đánh dấu văn bản Java bao gồm ba bước cốt lõi:
- Index các tệp nguồn để chúng có thể được tìm kiếm nhanh chóng.
- Thực hiện truy vấn trên chỉ mục để tìm các tài liệu phù hợp.
- Hiển thị kết quả với các chỉ báo trực quan bằng API highlighter.
Dưới đây chúng ta sẽ khám phá chi tiết từng bước, lần đầu cho đầu ra toàn tài liệu và sau đó cho các đoạn trích cấp độ fragment.
Search và Highlight Text là gì?
Search và highlight text là quá trình quét một chỉ mục tài liệu dựa trên truy vấn đã cho, lấy các tài liệu khớp, và sau đó đánh dấu mỗi lần xuất hiện của từ khóa trong đầu ra tài liệu (HTML, PDF, v.v.). Dấu hiệu trực quan này giúp người dùng cuối nhanh chóng nhận ra thông tin liên quan.
Tại sao nên dùng GroupDocs.Search cho Java?
- Indexing hiệu năng cao với khả năng nén cấu hình (
index documents java). - API đánh dấu phong phú hoạt động trên toàn tài liệu và trên các fragment tùy chỉnh (
highlight search terms java). - Hỗ trợ đa định dạng (DOCX, PDF, PPTX, TXT và nhiều hơn nữa).
- Tích hợp Maven đơn giản và thiết kế tập trung vào Java.
Yêu cầu trước
- Java Development Kit (JDK) 8 hoặc mới hơn.
- Maven để quản lý phụ thuộc.
- Một IDE như IntelliJ IDEA hoặc Eclipse.
- Kiến thức cơ bản về cú pháp Java.
Cài đặt GroupDocs.Search cho Java
Thêm kho lưu trữ và phụ thuộc GroupDocs 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>
Bạn cũng có thể tải JAR mới nhất trực tiếp từ trang chính thức: GroupDocs.Search for Java releases.
Nhận Giấy phép
Bắt đầu với bản dùng thử miễn phí hoặc lấy giấy phép tạm thời để đánh giá. Đối với triển khai sản xuất, mua giấy phép đầy đủ để mở khóa tất cả các tính năng.
Hướng dẫn Triển khai
Bài thực hành được chia thành hai phần: đánh dấu trong toàn bộ tài liệu và đánh dấu trong các fragment. Cả hai phần đều bao gồm các bước cần thiết để how to highlight Java tài liệu bằng GroupDocs.Search.
Cấu hình Cài đặt Chỉ mục
Trước khi index, cấu hình lưu trữ để sử dụng nén cao — giúp giảm dung lượng đĩa trong khi vẫn duy trì tốc độ tìm kiếm.
IndexSettings settings = new IndexSettings();
settings.setTextStorageSettings(new TextStorageSettings(Compression.High));
Đánh dấu trong Toàn bộ Tài liệu
Bước 1: Tạo và Điền Dữ liệu vào Chỉ mục
Tạo thư mục chỉ mục và thêm tất cả các tệp nguồn bạn muốn tìm kiếm.
String indexFolder = "/path/to/your/document/directory/HighlightingInEntireDocument";
Index index = new Index(indexFolder, settings);
index.add("/path/to/your/documents");
Bước 2: Thực hiện Tìm kiếm và Áp dụng Đánh dấu
Tìm kiếm từ khóa (ví dụ: ipsum) và tạo file HTML với các kết quả đã được đánh dấu.
SearchResult result = index.search("ipsum");
if (result.getDocumentCount() > 0) {
FoundDocument document = result.getFoundDocument(0);
OutputAdapter outputAdapter = new FileOutputAdapter(OutputFormat.Html, "/path/to/your/output/directory/Highlighted.html");
Highlighter highlighter = new DocumentHighlighter(outputAdapter);
HighlightOptions options = new HighlightOptions();
options.setHighlightColor(new Color(150, 255, 150)); // Custom green shade
options.setUseInlineStyles(false); // Prefer CSS for styling
index.highlight(document, highlighter, options);
}
Giải thích các tùy chọn chính
- Compression – nén cao giúp tiết kiệm không gian lưu trữ.
- HighlightColor – đặt bất kỳ giá trị RGB nào để phù hợp với bảng màu UI của bạn.
- UseInlineStyles –
falsetạo HTML sạch sẽ, có thể được định dạng toàn cục bằng CSS.
Đánh dấu trong Các Fragment
Bước 1: Index và Search (giống như trên)
String indexFolder = "/path/to/your/document/directory/HighlightingInFragments";
Index index = new Index(indexFolder, settings);
index.add("/path/to/your/documents");
SearchResult result = index.search("ipsum");
Bước 2: Định nghĩa Ngữ cảnh Fragment và Đánh dấu
Xác định số từ trước và sau kết quả cần hiển thị trong mỗi fragment.
HighlightOptions options = new HighlightOptions();
options.setTermsBefore(5); // Include 5 terms before the match
options.setTermsAfter(5); // Include 5 terms after the match
options.setHighlightColor(new Color(127, 200, 255)); // Custom blue shade
options.setUseInlineStyles(true); // Use inline styles for emphasis
FoundDocument document = result.getFoundDocument(0);
FragmentHighlighter highlighter = new FragmentHighlighter(OutputFormat.Html);
index.highlight(document, highlighter, options);
Bước 3: Lấy và Ghi Các Fragment Đánh dấu
Thu thập các fragment đã tạo và ghi chúng vào file HTML.
StringBuilder stringBuilder = new StringBuilder();
FragmentContainer[] fragmentContainers = highlighter.getResult();
for (FragmentContainer container : fragmentContainers) {
String[] fragments = container.getFragments();
if (fragments.length > 0) {
stringBuilder.append("\n<br>").append(container.getFieldName()).append("<br>\n");
for (String fragment : fragments) {
stringBuilder.append(fragment).append("\n");
}
}
}
try {
Files.write(Paths.get("/path/to/your/output/directory/Fragments.html"), stringBuilder.toString().getBytes());
} catch (IOException ex) {
// Handle exceptions
}
Ứng dụng Thực tiễn
- Xem xét Tài liệu Pháp lý – nhanh chóng đánh dấu các điều luật, điều khoản, hoặc tham chiếu vụ án.
- Nghiên cứu Học thuật – hiển thị nhanh các thuật ngữ quan trọng trên hàng chục file PDF và Word.
- Hỗ trợ Khách hàng – xác định nhanh số đơn hàng hoặc mã lỗi trong lịch sử ticket.
Các Yếu tố Ảnh hưởng đến Hiệu năng
- Kích thước Chỉ mục – nén cao (
Compression.High) giảm footprint trên đĩa. - Ngữ cảnh Fragment – giá trị
termsBefore/Afterlớn hơn tăng độ chính xác nhưng có thể làm chậm tốc độ. - Quản lý Bộ nhớ – giám sát heap JVM khi index lượng lớn tài liệu; cân nhắc index tăng dần cho các bộ dữ liệu rất lớn.
Các Vấn đề Thường gặp và Giải pháp
- Lỗi Indexing – kiểm tra lại đường dẫn tệp và đảm bảo ứng dụng có quyền đọc/ghi.
- Không có Đánh dấu – xác nhận
UseInlineStylesphù hợp với định dạng đầu ra (HTML vs. PDF). - Màu Không Áp dụng – chắc chắn giá trị RGB nằm trong khoảng 0‑255 và trình xem HTML hỗ trợ style đó.
Câu hỏi Thường gặp
H: Lợi ích của việc sử dụng GroupDocs.Search cho Java là gì?
Đ: Nó cung cấp index nhanh, mở rộng, khả năng tùy chỉnh đánh dấu và hỗ trợ nhiều định dạng tài liệu.
H: Làm sao tích hợp GroupDocs.Search với REST API?
Đ: Phơi bày các phương thức search và highlight qua các controller Spring Boot, trả về payload HTML hoặc JSON.
H: Thư viện có xử lý được các tệp được bảo vệ bằng mật khẩu không?
Đ: Có — cung cấp mật khẩu khi thêm tài liệu vào chỉ mục.
H: Có thể tùy chỉnh markup đánh dấu ngoài màu sắc không?
Đ: Hoàn toàn có; bạn có thể chèn lớp CSS qua HighlightOptions hoặc sửa HTML sau khi tạo.
H: Phiên bản nào đã được kiểm thử cho hướng dẫn này?
Đ: Mã đã được xác thực với GroupDocs.Search 25.4.
H: Làm sao đặt highlight options java để sử dụng lớp CSS thay vì inline styles?
Đ: Đặt options.setUseInlineStyles(false) và thêm quy tắc CSS cho lớp bạn chỉ định qua options.setCssClass("myHighlight").
H: Có cách đánh dấu terms pdf java trực tiếp khi nguồn là PDF không?
Đ: Có — GroupDocs.Search làm việc với đầu vào PDF, và highlighter sẽ xuất HTML mà bạn có thể nhúng vào trình xem PDF hoặc chuyển lại PDF bằng GroupDocs.Conversion.
Cập nhật lần cuối: 2026-02-27
Kiểm thử với: GroupDocs.Search 25.4
Tác giả: GroupDocs