Tìm kiếm toàn văn Java: xây dựng chỉ mục với GroupDocs.Search

Câu trả lời nhanh

  • Java full text search là gì? Đây là quá trình xây dựng một chỉ mục cho phép thực hiện các truy vấn văn bản nhanh chóng trên nhiều tệp trong một ứng dụng Java.
  • Thư viện nào hỗ trợ sẵn tính năng này? GroupDocs.Search for Java cung cấp khả năng lập chỉ mục, quản lý từ điển và thực thi truy vấn đã được chuẩn bị sẵn.
  • Tôi có cần giấy phép không? Bản dùng thử miễn phí phù hợp để đánh giá; giấy phép đầy đủ cần thiết cho các triển khai sản xuất.
  • Tôi có thể tùy chỉnh cách xử lý ký tự không? Chắc chắn—sử dụng từ điển alphabet để định nghĩa các kiểu ký tự tùy chỉnh.
  • Maven có bắt buộc không? Maven giúp đơn giản hoá việc quản lý phụ thuộc, nhưng bạn cũng có thể tải JAR trực tiếp.

Java full text search là gì và tại sao quản lý từ điển alphabet?

Chỉ mục java full text search lưu trữ các biểu diễn đã token hoá của tài liệu, cho phép tra cứu tức thời các từ hoặc cụm từ. Từ điển alphabet cho engine biết cách xử lý mỗi ký tự (chữ cái, chữ số, ký hiệu), ảnh hưởng trực tiếp tới quá trình token hoá và độ liên quan của kết quả tìm kiếm—đặc biệt đối với các ký hiệu đặc biệt hoặc quy tắc ngôn ngữ riêng.

GroupDocs.Search xử lý tới 10.000 tài liệu mà không cần tải toàn bộ vào bộ nhớ, mang lại thời gian truy vấn dưới một giây. Nó cung cấp kiểm soát hoàn toàn đối với các kiểu ký tự, hỗ trợ hơn 50 định dạng đầu vào và đầu ra, và mở rộng ngang trên nhiều máy chủ, là lựa chọn mạnh mẽ nhất cho tìm kiếm cấp doanh nghiệp.

Yêu cầu trước

  • GroupDocs.Search for Java (phiên bản mới nhất).
  • Java 17 hoặc cao hơn đã được cài đặt trên máy phát triển của bạn.
  • Maven 3.6+ (hoặc khả năng thêm JAR thủ công).

Thư viện, phiên bản và phụ thuộc cần thiết

  • GroupDocs.Search for Java – phiên bản ổn định mới nhất.
  • Không cần thư viện bên thứ ba nào khác cho việc lập chỉ mục cơ bản.

Yêu cầu môi trường cài đặt

Đảm bảo bạn có môi trường tương thích Maven. Nếu Maven chưa được cài đặt, tải về từ trang chính thức: Apache Maven.

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

Hiểu biết về cú pháp Java và I/O file sẽ hữu ích, nhưng hướng dẫn từng bước dưới đây sẽ bao phủ mọi thứ bạn cần.

Cài đặt GroupDocs.Search cho Java

Cấu hình Maven

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

Nếu bạn không muốn dùng Maven, tải JAR mới nhất từ trang phát hành chính thức: GroupDocs.Search for Java releases.

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

  1. Bản dùng thử – Bắt đầu với bản dùng thử để khám phá mọi tính năng.
  2. Giấy phép tạm thời – Yêu cầu khóa tạm thời để thử nghiệm kéo dài hơn.
  3. Giấy phép đầy đủ – Mua giấy phép sản xuất để sử dụng không giới hạn.

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

Tạo một thể hiện Index trỏ tới thư mục nơi lưu trữ chỉ mục tìm kiếm:

import com.groupdocs.search.*;

public class SearchIndexSetup {
    public static void main(String[] args) {
        String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\Index";
        Index index = new Index(indexFolder);
    }
}

Hướng dẫn triển khai

Dưới đây là quy trình đầy đủ cho các thao tác phổ biến khi xây dựng giải pháp java full text search.

Tạo hoặc mở một chỉ mục

Lớp Index là đối tượng cốt lõi đại diện cho một bộ sưu tập có thể tìm kiếm được lưu trên đĩa.

import com.groupdocs.search.*;

String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\Index";
Index index = new Index(indexFolder);
  • Tham số: indexFolder – đường dẫn nơi các tệp chỉ mục được lưu.
  • Mục đích: Thiết lập môi trường tìm kiếm cho việc lập chỉ mục và truy vấn tiếp theo.

Xuất từ điển alphabet ra tệp

Đối tượng AlphabetDictionary chứa các ánh xạ kiểu ký tự. Xuất nó cho phép bạn tái sử dụng hoặc phân tích cấu hình sau này.

import com.groupdocs.search.dictionaries.*;

String fileName = "YOUR_OUTPUT_DIRECTORY\\Alphabet.dat";
index.getDictionaries().getAlphabet().exportDictionary(fileName);
  • Tham số: fileName – tệp đích cho từ điển đã xuất.

Xóa sạch từ điển alphabet

Đặt lại từ điển về trạng thái mặc định trước khi áp dụng các quy tắc tùy chỉnh:

import com.groupdocs.search.dictionaries.*;

if (index.getDictionaries().getAlphabet().getCount() > 0) {
    index.getDictionaries().getAlphabet().clear();
}
  • Mục đích: Loại bỏ tất cả các kiểu ký tự đã định nghĩa trước, đảm bảo khởi đầu sạch sẽ.

Nhập từ điển alphabet từ tệp

Khôi phục cấu hình từ điển đã lưu trước đó:

import com.groupdocs.search.dictionaries.*;

index.getDictionaries().getAlphabet().importDictionary(fileName);
  • Tham số: fileName – đường dẫn tới tệp .dat chứa từ điển.

Đặt kiểu ký tự trong từ điển alphabet

Enum CharacterType xác định cách các ký tự được diễn giải trong quá trình token hoá. Tùy chỉnh cách các ký tự cụ thể được xử lý. Giá trị CharacterType.Blended cho engine xem dấu gạch nối như một phần của từ thay vì dấu phân tách.

import com.groupdocs.search.dictionaries.*;

if (index.getDictionaries().getAlphabet().getCharacterType('-') != CharacterType.Blended) {
    index.getDictionaries().getAlphabet().setRange(new char[] { '-' }, CharacterType.Blended);
}
  • Tham số: Ký tự ('-') và CharacterType mới của nó.
  • Tại sao quan trọng: Điều chỉnh kiểu ký tự cải thiện độ liên quan của tìm kiếm cho các thuật ngữ có dấu gạch nối, ID hoặc ký hiệu tùy chỉnh.

Lập chỉ mục tài liệu từ thư mục

Thêm tất cả các tệp trong một thư mục vào chỉ mục tìm kiếm trong một thao tác:

import com.groupdocs.search.*;

String documentsFolder = "YOUR_DOCUMENT_DIRECTORY";
index.add(documentsFolder);
  • Tham số: documentsFolder – thư mục chứa các tài liệu bạn muốn lập chỉ mục.

Tìm kiếm trong chỉ mục

Lớp SearchResult chứa danh sách tài liệu khớp và các đoạn trích được trả về bởi một truy vấn. Thực thi truy vấn và nhận kết quả phù hợp:

import com.groupdocs.search.results.*;

String query = "Elliot-Murray-Kynynmound";
SearchResult result = index.search(query);
  • Tham số: query – văn bản bạn đang tìm kiếm.
  • Kết quả: Một đối tượng SearchResult chứa các tài liệu và đoạn trích khớp.
  • Hệ thống quản lý nội dung (CMS): Tăng tốc độ truy xuất bài viết và tài sản.
  • Kho lưu trữ tài liệu pháp lý: Tìm nhanh các điều khoản hoặc tham chiếu vụ án.
  • Thư viện nghiên cứu: Lập chỉ mục hàng ngàn bài báo để tìm kiếm từ khóa ngay lập tức.
  • Danh mục thương mại điện tử: Nâng cao tìm kiếm sản phẩm với token hoá tùy chỉnh.
  • Cổng hỗ trợ khách hàng: Giúp nhân viên nhanh chóng tìm các ticket hoặc bài viết kiến thức liên quan.

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

  • Cập nhật gia tăng: Chỉ lập chỉ mục lại các tệp mới hoặc đã thay đổi để giữ chỉ mục luôn mới mà không cần xây dựng lại toàn bộ.
  • Tối ưu truy vấn: Giữ truy vấn ngắn gọn; tránh các tìm kiếm wildcard quá rộng.
  • Giám sát tài nguyên: Theo dõi việc sử dụng bộ nhớ trong quá trình lập chỉ mục hàng loạt—tinh chỉnh kích thước heap JVM nếu cần.
  • Kích thước từ điển: Chỉ xuất/nhập từ điển alphabet khi bạn thực sự thay đổi nó; I/O không cần thiết có thể làm chậm khởi động.

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

Hỏi: Những yêu cầu trước khi sử dụng GroupDocs.Search là gì?
Đáp: Cài đặt Java 17+, Maven 3.6+ (hoặc tải JAR), và thêm phụ thuộc GroupDocs.Search.

Hỏi: Làm sao để có giấy phép cho môi trường sản xuất?
Đáp: Bắt đầu với bản dùng thử, yêu cầu khóa tạm thời để thử nghiệm kéo dài, sau đó mua giấy phép đầy đủ từ cổng GroupDocs.

Hỏi: Tôi có thể tùy chỉnh kiểu ký tự trong từ điển alphabet không?
Đáp: Có—sử dụng các phương thức setRange hoặc set để gán giá trị CharacterType tùy chỉnh cho bất kỳ ký tự hoặc phạm vi nào.

Hỏi: Có thể xuất và nhập từ điển alphabet không?
Đáp: Chắc chắn—sử dụng các phương thức exportDictionary và importDictionary để lưu hoặc chia sẻ cấu hình từ điển.

Hỏi: Phiên bản nào đã được kiểm tra với hướng dẫn này?
Đáp: Các ví dụ đã được xác minh với GroupDocs.Search for Java phiên bản 25.4.


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

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