Trích xuất Văn bản từ PDF Java: Xây dựng Chỉ mục Tài liệu với GroupDocs.Search
Trong hướng dẫn thực hành này, bạn sẽ khám phá cách trích xuất văn bản từ PDF Java trong các ứng dụng và chuyển nội dung thô thành một chỉ mục tìm kiếm toàn văn nhanh chóng. Dù bạn đang xây dựng một cơ sở tri thức nội bộ, một cổng tìm kiếm hợp đồng, hay một công cụ tìm kiếm tùy chỉnh, các bước dưới đây sẽ hướng dẫn bạn từ việc lấy văn bản từ PDF đến việc tuần tự hoá dữ liệu, tạo chỉ mục và cuối cùng thực hiện truy vấn. Hãy cùng khám phá vì sao GroupDocs.Search làm cho toàn bộ quá trình trở nên mượt mà và có khả năng mở rộng.
Câu trả lời nhanh
- Mục đích chính là gì? Trích xuất văn bản từ các tệp PDF Java và tạo một chỉ mục tài liệu có thể tìm kiếm được với GroupDocs.Search.
- Phiên bản thư viện nào? GroupDocs.Search 25.4 (hoặc bản phát hành mới nhất).
- Có cần giấy phép không? Bản dùng thử miễn phí hoạt động cho việc phát triển; giấy phép đầy đủ cần thiết cho môi trường sản xuất.
- Có thể lập chỉ mục PDF không? Có — trích xuất văn bản PDF và thêm vào chỉ mục.
- Làm sao để thực hiện tìm kiếm? Sử dụng phương thức
index.search(query)sau khi đã thêm dữ liệu.
Chỉ mục Tài liệu là gì?
Chỉ mục tài liệu là một tập hợp có cấu trúc các thuật ngữ có thể tìm kiếm được được trích xuất từ các tệp của bạn. Khi tạo chỉ mục tài liệu, bạn cho phép thực hiện các tìm kiếm toàn văn nhanh chóng trên các kho lưu trữ lớn, cải thiện đáng kể tốc độ và độ chính xác của việc truy xuất.
Tại sao nên dùng GroupDocs.Search cho Java?
- Trích xuất mạnh mẽ – Hỗ trợ PDF, Word, Excel và nhiều định dạng khác.
- Tuần tự hoá dễ dàng – Lưu trữ dữ liệu đã trích xuất dưới dạng mảng byte để tái sử dụng sau này.
- Lập chỉ mục mở rộng – Hiệu quả khi lập chỉ mục hàng triệu tài liệu.
- Ngôn ngữ truy vấn mạnh mẽ – Hỗ trợ các truy vấn Java tìm kiếm toàn văn phức tạp.
Yêu cầu trước
- GroupDocs.Search cho Java (Phiên bản 25.4 hoặc mới hơn).
- Java Development Kit (JDK) tương thích với phiên bản GroupDocs của bạn.
- Một IDE như IntelliJ IDEA hoặc Eclipse.
- Maven để quản lý phụ thuộc.
Cài đặt GroupDocs.Search cho Java
Đầu tiên, thêm thư viện vào dự án của bạn.
Cài đặt Maven
Thêm đoạn sau vào tệp 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 phiên bản mới nhất từ GroupDocs.Search for Java releases.
Nhận giấy phép
- Dùng thử miễn phí – Kiểm tra tất cả tính năng với giấy phép tạm thời.
- Mua bản quyền – Nhận quyền truy cập đầy đủ và hỗ trợ ưu tiên.
Triển khai từng bước
Cách trích xuất văn bản từ PDF (và các tài liệu khác)
Việc trích xuất văn bản thô hoặc có định dạng là bước đầu tiên để tạo chỉ mục tài liệu. Khi bạn trích xuất văn bản từ PDF Java, bạn cung cấp cho công cụ tìm kiếm một dữ liệu mà nó có thể hiểu.
String documentPath = "YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.pdf";
Extractor extractor = new Extractor();
Document document = Document.createFromFile(documentPath);
ExtractionOptions extractionOptions = new ExtractionOptions();
extractionOptions.setUseRawTextExtraction(false); // Extract with formatting
ExtractedData extractedData = extractor.extract(document, extractionOptions);
Mẹo: Đặt
setUseRawTextExtraction(true)nếu bạn cần văn bản thuần không có định dạng.
Cách tuần tự hoá dữ liệu đã trích xuất
Tuần tự hoá cho phép bạn lưu trữ dữ liệu đã trích xuất để sử dụng cho việc lập chỉ mục sau này.
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
extractedData.serialize(outputStream);
byte[] serializedArray = outputStream.toByteArray();
Cách giải tuần tự hoá dữ liệu đã trích xuất
Khi đã sẵn sàng xây dựng chỉ mục, chuyển mảng byte trở lại thành đối tượng.
ByteArrayInputStream inputStream = new ByteArrayInputStream(serializedArray);
ExtractedData deserializedData = ExtractedData.deserialize(inputStream);
Cách tạo chỉ mục tài liệu
Bây giờ bạn có deserializedData, có thể tạo chỉ mục để chứa các thuật ngữ có thể tìm kiếm.
String indexFolder = "YOUR_OUTPUT_DIRECTORY/AdvancedUsage/Indexing/SeparateDataExtraction";
com.groupdocs.search.Index index = new com.groupdocs.search.Index(indexFolder);
Cách thêm dữ liệu vào chỉ mục và thực hiện tìm kiếm
Thêm dữ liệu và truy vấn chỉ mục hoàn thiện quy trình trích xuất văn bản từ PDF Java.
ExtractedData[] dataToIndex = new ExtractedData[] { deserializedData };
index.add(dataToIndex, new IndexingOptions());
String query = "ipsum";
SearchResult result = index.search(query);
Mẹo chuyên nghiệp: Sử dụng
index.search("your query", SearchOptions)để tinh chỉnh thứ hạng liên quan.
Các trường hợp sử dụng phổ biến
- Hệ thống Quản lý Tài liệu – Nhanh chóng định vị hợp đồng, hoá đơn hoặc chính sách.
- Công cụ Tìm kiếm Dựa trên Nội dung – Cung cấp khả năng tìm kiếm toàn văn Java cho các cơ sở tri thức nội bộ.
- Giải pháp Lưu trữ Dữ liệu – Lập chỉ mục các hồ sơ lịch sử để truy xuất tức thì.
Các lưu ý về hiệu năng
- Quản lý bộ nhớ: Điều chỉnh kích thước heap JVM cho các lô tài liệu lớn.
- Tùy chọn lập chỉ mục: Tắt các tính năng không cần thiết (ví dụ: term vectors) để tăng tốc độ lập chỉ mục.
- Cập nhật thường xuyên: Giữ GroupDocs.Search luôn ở phiên bản mới nhất để hưởng các bản vá hiệu năng.
Câu hỏi thường gặp
H: Làm sao để xử lý các tệp PDF rất lớn một cách hiệu quả?
Đ: Dòng dữ liệu tệp bằng Extractor và xử lý theo từng phần; đồng thời tăng kích thước heap JVM nếu cần.
H: Tôi có thể tùy chỉnh cú pháp truy vấn tìm kiếm không?
Đ: Có — GroupDocs.Search hỗ trợ các toán tử Boolean, ký tự đại diện và tìm kiếm gần nhau.
H: Nếu quá trình tuần tự hoá thất bại, tôi nên làm gì?
Đ: Kiểm tra mọi đối tượng đều triển khai Serializable và bắt IOException để ghi lại chi tiết lỗi.
H: Có thể lập chỉ mục chỉ một số phần cụ thể của tài liệu không?
Đ: Chắc chắn — cấu hình ExtractionOptions để lọc các trang hoặc phần trước khi lập chỉ mục.
H: Làm sao nâng cấp lên phiên bản GroupDocs.Search mới hơn?
Đ: Cập nhật số phiên bản trong pom.xml và chạy mvn clean install; xem hướng dẫn di chuyển để biết các thay đổi gây phá vỡ.
Tài nguyên
- Tài liệu: GroupDocs Documentation
- Tham chiếu API: GroupDocs API Reference
- Tải về: GroupDocs Downloads
- GitHub: GroupDocs GitHub Repository
- Hỗ trợ miễn phí: GroupDocs Forum
- Giấy phép tạm thời: Obtain a Temporary License
Cập nhật lần cuối: 2026-02-19
Được kiểm tra với: GroupDocs.Search 25.4 cho Java
Tác giả: GroupDocs