Ví dụ tìm kiếm toàn văn trong Java với GroupDocs.Search

Nếu bạn cần một ví dụ tìm kiếm toàn văn hoạt động trên PDF, tệp Word, bảng tính và nhiều định dạng khác, bạn đã đến đúng nơi. Việc quét thủ công hàng ngàn tài liệu là một nút thắt lớn, nhưng GroupDocs.Search cho Java tự động hoá việc lập chỉ mục và truy vấn với tốc độ cực nhanh. Trong hướng dẫn này, chúng ta sẽ đi qua mọi thứ bạn cần để bắt đầu—từ việc thêm tài liệu vào chỉ mục, tạo các câu lệnh boolean query java, đến tối ưu hoá hiệu năng tìm kiếm cho các tải công việc sản xuất.

Câu trả lời nhanh

  • Tìm kiếm toàn văn là gì? Nó lập chỉ mục văn bản thô của mỗi tài liệu để bạn có thể truy vấn bất kỳ từ hoặc cụm từ nào ngay lập tức.
  • Thư viện nào hỗ trợ đa định dạng? GroupDocs.Search cho Java xử lý PDF, DOCX, XLSX, PPTX, HTML, TXT và hơn 50 loại tệp khác.
  • Làm sao thêm tài liệu vào chỉ mục? Gọi phương thức index.add() với đường dẫn thư mục hoặc một DocumentFilter tùy chỉnh.
  • Có thể chạy các truy vấn Boolean không? Có—kết hợp các thuật ngữ bằng AND, OR, NOT để có kết quả chính xác.
  • Làm sao cải thiện hiệu năng? Sử dụng lập chỉ mục tăng dần, bật bộ nhớ đệm kết quả, và tắt tìm kiếm ngữ âm nếu không cần.

Tìm kiếm toàn văn là gì?

Một ví dụ tìm kiếm toàn văn cho phép bạn quét toàn bộ nội dung văn bản của tài liệu, lưu trữ nó trong một chỉ mục hiệu quả, và truy xuất các bản ghi khớp ngay lập tức. Không giống như tìm kiếm chỉ dựa trên tên tệp, nó tìm bên trong PDF, tài liệu Word, bảng tính và các định dạng hỗ trợ khác, rất phù hợp cho hệ thống quản lý tài liệu, cổng hỗ trợ, và bất kỳ ứng dụng nào mà người dùng cần tìm thông tin nhanh chóng.

Tại sao nên dùng GroupDocs.Search cho Java?

GroupDocs.Search cho Java cung cấp hỗ trợ đa định dạng cho hơn 50 loại tệp, bao gồm PDF, DOCX, XLSX, PPTX, HTML và văn bản thuần. Nó mở rộng lên hàng triệu tệp trong khi giữ mức sử dụng bộ nhớ thấp bằng cách lưu chỉ mục trên đĩa. Thư viện bao gồm một ngôn ngữ truy vấn nâng cao với các tìm kiếm Boolean, fuzzy và phonetic tích hợp, và nó tích hợp bằng một phụ thuộc Maven duy nhất, cho phép bạn bắt đầu lập chỉ mục trong vài phút.

Yêu cầu trước

Trước khi bắt đầu, hãy đảm bảo bạn có:

  • Java 11+ (Java 8 vẫn hoạt động, nhưng Java 11 hoặc mới hơn được khuyến nghị để có hiệu năng tốt hơn).
  • Maven để quản lý phụ thuộc.
  • Một giấy phép GroupDocs.Search (khóa dùng thử miễn phí đủ cho việc phát triển).

Thư viện và phụ thuộc cần thiết

Thêm kho và 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>

Để biết cách sử dụng chi tiết, xem tài liệu.

Cài đặt môi trường

  • Cài đặt JDK (phiên bản 8 trở lên) và cấu hình JAVA_HOME.
  • Sử dụng IDE như IntelliJ IDEA hoặc Eclipse để dễ dàng gỡ lỗi.

Kiến thức nền tảng

  • Các khái niệm lập trình Java cơ bản.
  • Quen thuộc với cấu trúc pom.xml của Maven.

Cài đặt GroupDocs.Search cho Java

Bạn có thể đưa thư viện vào dự án qua Maven (như trên) hoặc tải JAR thủ công.

Tải trực tiếp (nếu bạn muốn thiết lập thủ công)

Tải gói mới nhất từ GroupDocs.Search for Java releases.

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

  1. Dùng thử miễn phí – Đăng ký và nhận khóa tạm thời.
  2. Giấy phép tạm thời – Yêu cầu khóa dài hạn hơn cho việc thử nghiệm mở rộng.
  3. Mua bản quyền – Nâng cấp lên giấy phép thương mại đầy đủ khi bạn sẵn sàng cho môi trường sản xuất.

Khởi tạo và thiết lập cơ bản

Tạo một thư mục chỉ mục trên đĩa và xác minh thư viện tải đúng:

import com.groupdocs.search.Index;

public class SearchSetup {
    public static void main(String[] args) {
        // Initialize an index in the specified directory
        Index index = new Index("C:\\MyIndex");
        
        System.out.println("GroupDocs.Search initialized!");
    }
}

Mẹo chuyên nghiệp: Giữ thư mục chỉ mục trên SSD nhanh để giảm độ trễ truy vấn.

Thêm tài liệu vào chỉ mục

Tại sao quan trọng: Không có nội dung đã được lập chỉ mục, sẽ không có kết quả tìm kiếm. Dưới đây là cách thêm toàn bộ thư mục hoặc lọc các loại tệp cụ thể.

Bước 1: tạo một chỉ mục

Lớp Index là container có thể tìm kiếm, lưu trữ các tài liệu đã lập chỉ mục trên đĩa.

Index index = new Index("C:\\MyIndex");

Bước 2: thêm tài liệu (add documents to index)

Bạn có thể lập chỉ mục mọi thứ trong một thư mục hoặc giới hạn theo các phần mở rộng nhất định bằng một DocumentFilter.

index.add("C:\\Documents\\*.*"); // Adds all documents from the specified directory
// For specific file types, use:
index.add("C:\\Reports", new DocumentFilter() {
    @Override
    public boolean accept(String fileName) {
        return fileName.endsWith(".pdf") || fileName.endsWith(".docx");
    }
});

Giải thích:

  • Index đại diện cho cơ sở dữ liệu có thể tìm kiếm.
  • add() nhập các tệp; ký tự đại diện *.* lấy tất cả các tệp, trong khi DocumentFilter cho phép bạn tinh chỉnh bước add documents to index.

Thực hiện tìm kiếm (search documents java)

Bây giờ chỉ mục đã chứa dữ liệu, bạn có thể truy vấn nó.

Bước 1: tạo truy vấn

String query = "GroupDocs";

Bước 2: thực thi tìm kiếm

SearchResult result = index.search(query);
System.out.println("Documents found: " + result.getDocumentCount());

Giải thích:

  • search() chạy truy vấn trên chỉ mục.
  • getDocumentCount() cho biết có bao nhiêu tài liệu khớp—hữu ích cho các kiểm tra nhanh.

Kỹ thuật truy vấn nâng cao (boolean query java)

Để kiểm soát chính xác, kết hợp các thuật ngữ bằng logic Boolean.

Truy vấn Boolean

Lớp BooleanQuery cho phép bạn xây dựng các biểu thức phức tạp bằng các toán tử AND, OR, NOT.

String booleanQuery = "GroupDocs AND Java";
SearchResult booleanResult = index.search(booleanQuery);

Tìm kiếm ngữ âm (tùy chọn cho fuzzy matching)

Tính năng PhoneticSearch cho phép khớp ngữ âm cho các từ bị viết sai, nhưng sẽ tăng tải.

index.getSettings().setPhoneticSearch(true);

Khi nào nên dùng: Bật tìm kiếm ngữ âm chỉ khi người dùng thường xuyên viết sai từ; nếu không, hãy tắt để tối ưu hoá hiệu năng tìm kiếm.

Các vấn đề thường gặp và giải pháp

Vấn đềNguyên nhânGiải pháp
Thiếu tài liệuĐường dẫn tệp không đúng hoặc thiếu quyền truy cậpKiểm tra lại đường dẫn và cấp quyền đọc
Truy vấn chậmChỉ mục lớn mà không có bộ nhớ đệm hoặc bật tìm kiếm ngữ âm không cần thiếtBật bộ nhớ đệm, tắt tìm kiếm ngữ âm, và cân nhắc chia chỉ mục
Lỗi Out‑of‑MemoryKích thước chỉ mục vượt quá heap JVMTăng -Xmx hoặc dùng lập chỉ mục tăng dần

Ứng dụng thực tiễn

GroupDocs.Search tỏa sáng trong các kịch bản thực tế:

  1. Hệ thống quản lý nội dung – Cung cấp tìm kiếm toàn văn ngay lập tức trên bài viết, PDF và tài sản media.
  2. Cổng hỗ trợ khách hàng – Nhân viên có thể tìm các hướng dẫn hoặc chính sách liên quan trong vài giây.
  3. Kho lưu trữ tài liệu doanh nghiệp – Tìm kiếm trên hợp đồng, báo cáo và tài liệu tuân thủ mà không cần di chuyển dữ liệu sang cơ sở dữ liệu riêng.

Các cân nhắc về hiệu năng

Tối ưu hoá hiệu năng tìm kiếm

  • Lập chỉ mục tăng dần: Thêm hoặc cập nhật chỉ các tệp đã thay đổi thay vì xây dựng lại toàn bộ chỉ mục.
  • Bộ nhớ đệm: Giữ kết quả truy vấn thường dùng trong bộ nhớ.
  • Giám sát tài nguyên: Điều chỉnh heap JVM (-Xmx2g hoặc cao hơn) dựa trên kích thước chỉ mục.

Hướng dẫn sử dụng tài nguyên

  • Lưu thư mục chỉ mục trên SSD hoặc ổ NVMe nhanh.
  • Giám sát CPU và bộ nhớ trong quá trình lập chỉ mục hàng loạt; hạn chế tốc độ batch để tránh đột biến.

Thực hành tốt cho quản lý bộ nhớ Java

  • Sử dụng try‑with‑resources khi làm việc với stream.
  • Gán null cho các đối tượng lớn sau khi dùng để hỗ trợ garbage collection.

Kết luận

Bạn đã có một ví dụ tìm kiếm toàn văn hoàn chỉnh, sẵn sàng cho môi trường sản xuất trong Java bằng GroupDocs.Search. Từ việc thiết lập thư viện, thêm tài liệu vào chỉ mục, tạo các câu lệnh boolean query java, đến tối ưu hoá hiệu năng tìm kiếm, mọi bước đã được bao phủ.

Các bước tiếp theo

Khám phá các tính năng sâu hơn như bộ phân tích tùy chỉnh, từ điển đồng nghĩa, và tích hợp lưu trữ đám mây bằng cách xem Tài liệu GroupDocs.Search chính thức.


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

H: GroupDocs.Search hỗ trợ những định dạng tệp nào?
Đ: Hơn 50 định dạng, bao gồm PDF, DOCX, XLSX, PPTX, HTML, TXT và nhiều loại ảnh.

H: Làm sao xử lý bộ dữ liệu lớn?
Đ: Chia chúng thành nhiều chỉ mục, cập nhật tăng dần, và bật bộ nhớ đệm kết quả để giữ độ trễ thấp.

H: GroupDocs.Search có chạy được trong môi trường đám mây không?
Đ: Có—bạn có thể chỉ định thư mục chỉ mục tới một ổ lưu trữ đám mây đã gắn (ví dụ Azure Blob, AWS S3 qua driver hệ thống tập tin).

H: Ưu điểm của GroupDocs.Search so với các thư viện khác là gì?
Đ: Hỗ trợ đa định dạng, truy vấn Boolean/phonetic tích hợp, và API Java nhẹ nhàng xử lý hàng triệu tài liệu với dung lượng bộ nhớ thấp.

H: Làm sao khắc phục các vấn đề về hiệu năng?
Đ: Xem lại cài đặt chỉ mục, tắt tìm kiếm ngữ âm nếu không cần, và giám sát việc sử dụng bộ nhớ/CPU của JVM trong quá trình lập chỉ mục và truy vấn.


Cập nhật lần cuối: 2026-08-15
Đã kiểm thử với: GroupDocs.Search 25.4
Tác giả: GroupDocs

Tài nguyên

Các hướng dẫn liên quan