Thêm tài liệu vào chỉ mục: Thành thạo tìm kiếm phân biệt chữ hoa‑thường trong Java với GroupDocs

Việc truy xuất đúng thông tin từ một bộ sưu tập tài liệu khổng lồ là yêu cầu cốt lõi của các ứng dụng hiện đại. Trong hướng dẫn này, bạn sẽ học cách thêm tài liệu vào chỉ mục và thực hiện các tìm kiếm phân biệt chữ hoa‑thường bằng GroupDocs.Search cho Java. Dù bạn đang xây dựng kho lưu trữ tài liệu pháp lý, danh mục thương mại điện tử, hay hệ thống quản lý nội dung, kết quả tìm kiếm chính xác sẽ làm người dùng hài lòng và dữ liệu của bạn đáng tin cậy.

Câu trả lời nhanh

  • Bước chính để bắt đầu tìm kiếm là gì? Thêm tài liệu vào một chỉ mục bằng index.add(...).
  • Làm thế nào để bật tìm kiếm phân biệt chữ hoa‑thường? Đặt options.setUseCaseSensitiveSearch(true).
  • Tôi có thể tìm kiếm trên nhiều thư mục không? Có – gọi index.add() cho mỗi thư mục bạn muốn bao gồm.
  • Phương thức nào cho phép tôi tìm kiếm bằng đối tượng? Sử dụng SearchQuery.createWordQuery(...).
  • Tôi có cần giấy phép để thử nghiệm không? Một giấy phép tạm thời có sẵn cho mục đích dùng thử.

“Thêm tài liệu vào chỉ mục” có nghĩa là gì?

Thêm tài liệu vào chỉ mục có nghĩa là đưa các tệp nguồn của bạn (PDF, tài liệu Word, văn bản thuần, v.v.) vào GroupDocs.Search để nó có thể xây dựng một cấu trúc dữ liệu có thể tìm kiếm được. Khi đã được lập chỉ mục, công cụ sẽ thực thi các truy vấn nhanh, bao gồm cả các truy vấn phân biệt chữ hoa‑thường.

Tại sao cần bật tìm kiếm phân biệt chữ hoa‑thường trong Java?

  • Khớp chính xác từ khóa – phân biệt “Apple” (công ty) với “apple” (trái cây).
  • Tuân thủ quy định – một số ngành yêu cầu khớp chính xác cụm từ.
  • Cải thiện độ liên quan – người dùng thường mong đợi kết quả phân biệt chữ hoa‑thường trong các ngữ cảnh kỹ thuật hoặc pháp lý.

Yêu cầu trước

  • JDK (khuyến nghị Java 17 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ề lập trình Java

Cài đặt GroupDocs.Search cho Java

Đầu tiên, thêm kho lưu trữ GroupDocs 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>

Bạn cũng có thể tải phiên bản mới nhất trực tiếp từ GroupDocs.Search cho Java.

Cấp phép

Để bắt đầu dùng thử, truy cập GroupDocs để nhận giấy phép tạm thời. Điều này sẽ cho phép bạn thử nghiệm tất cả các tính năng mà không có bất kỳ hạn chế nào.

Cách thêm tài liệu vào chỉ mục – Tìm kiếm bằng Truy vấn Văn bản

Bước 1: Tạo một Chỉ mục và thêm tài liệu của bạn

Tạo một thư mục để lưu các tệp chỉ mục, sau đó thêm thư mục nguồn chứa các tài liệu bạn muốn tìm kiếm.

String indexFolder = YOUR_OUTPUT_DIRECTORY + "/CaseSensitiveSearch/QueryInTextForm";
Index index = new Index(indexFolder);
index.add(YOUR_DOCUMENT_DIRECTORY); // Add documents to the index

Mẹo chuyên nghiệp: Bạn có thể gọi index.add() nhiều lần để tìm kiếm trên nhiều thư mục trong một chỉ mục duy nhất.

Bước 2: Bật tìm kiếm phân biệt chữ hoa‑thường

Cấu hình các tùy chọn tìm kiếm để tôn trọng việc phân biệt chữ hoa và chữ thường.

SearchOptions options = new SearchOptions();
options.setUseCaseSensitiveSearch(true);

Bước 3: Thực thi truy vấn văn bản phân biệt chữ hoa‑thường

Thực hiện một truy vấn phân biệt “Advantages” với “advantages”.

String query = "Advantages";
SearchResult result = index.search(query, options);

// Output results
for (FoundDocument doc : result.getDocuments()) {
    System.out.println("Document: " + doc.getDocumentInfo().getFilePath());
}

Vòng lặp sẽ in ra đường dẫn đầy đủ của mỗi tài liệu chứa đúng cụm từ phân biệt chữ hoa‑thường.

Cách thêm tài liệu vào chỉ mục – Tìm kiếm bằng Truy vấn Đối tượng

Các truy vấn đối tượng cung cấp cho bạn nhiều linh hoạt hơn, đặc biệt khi bạn cần kết hợp nhiều tiêu chí.

Bước 1: Khởi tạo một chỉ mục thứ hai (tùy chọn)

Nếu bạn muốn giữ các tìm kiếm dựa trên đối tượng riêng biệt, hãy tạo một thư mục chỉ mục khác.

String indexFolder = YOUR_OUTPUT_DIRECTORY + "/CaseSensitiveSearch/QueryInObjectForm";
Index index = new Index(indexFolder);
index.add(YOUR_DOCUMENT_DIRECTORY); // Add documents to the index

Bước 2: Tái sử dụng tùy chọn phân biệt chữ hoa‑thường

Cùng một thể hiện SearchOptions cũng hoạt động cho các truy vấn đối tượng.

SearchOptions options = new SearchOptions();
options.setUseCaseSensitiveSearch(true);

Bước 3: Xây dựng và chạy một truy vấn đối tượng

Tạo một đối tượng truy vấn từ khóa và truyền nó cho công cụ tìm kiếm.

SearchQuery query = SearchQuery.createWordQuery("Advantages");
SearchResult result = index.search(query, options);

// Output results
for (FoundDocument doc : result.getDocuments()) {
    System.out.println("Document: " + doc.getDocumentInfo().getFilePath());
}

Sử dụng createWordQuery cho phép bạn sau này kết hợp nó với truy vấn cụm từ, ký tự đại diện, hoặc Boolean để tạo các kịch bản phức tạp hơn.

Ứng dụng thực tiễn

  • Quản lý tài liệu pháp lý: Truy xuất các quy định cụ thể theo vụ án nơi việc viết hoa là quan trọng.
  • Nền tảng thương mại điện tử: Phân biệt các SKU sản phẩm như “PRO‑X” và “pro‑x”.
  • Hệ thống quản lý nội dung (CMS): Đảm bảo các tác giả tìm thấy đúng tiêu đề hoặc thẻ.

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

  • Giữ chỉ mục luôn cập nhật – lập chỉ mục lại khi có tệp mới được thêm hoặc tệp hiện có thay đổi.
  • Giám sát việc sử dụng bộ nhớ – các tập dữ liệu lớn hưởng lợi từ việc lập chỉ mục tăng dần và kích thước heap JVM phù hợp.
  • Tận dụng bộ thu gom rác của Java – giải phóng các đối tượng Index khi không còn cần thiết.

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

Vấn đềGiải pháp
useCaseSensitiveSearch dường như bị bỏ quaXác minh bạn đang sử dụng phiên bản GroupDocs.Search mới nhất và chỉ mục đã được xây dựng lại sau khi thay đổi tùy chọn.
Không có kết quả nào trả về cho một từ đã biếtĐảm bảo chữ hoa‑thường của từ khớp chính xác và tài liệu đã được thêm thành công vào chỉ mục.
Tìm kiếm nhiều thư mục làm chậmThêm mỗi thư mục riêng lẻ bằng index.add() và cân nhắc chia chỉ mục thành các shard cho các tập dữ liệu rất lớn.

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

Q: Làm thế nào để tôi xử lý các tập dữ liệu lớn với GroupDocs.Search?
A: Sử dụng phân vùng chỉ mục, điều chỉnh cài đặt bộ nhớ JVM, và định kỳ nén chỉ mục để duy trì hiệu năng tối ưu.

Q: Tôi có thể tìm kiếm trên nhiều thư mục cùng lúc không?
A: Có – gọi index.add() cho mỗi thư mục bạn muốn bao gồm, sau đó thực hiện một truy vấn duy nhất trên chỉ mục đã kết hợp.

Q: Những sai lầm phổ biến khi thiết lập tìm kiếm phân biệt chữ hoa‑thường là gì?
A: Quên xây dựng lại chỉ mục sau khi bật useCaseSensitiveSearch, hoặc sử dụng chữ hoa‑thường sai trong chuỗi truy vấn.

Q: Làm sao tôi có thể khắc phục lỗi tìm kiếm?
A: Kiểm tra các tệp log do GroupDocs.Search tạo ra để xem stack trace, và xác nhận rằng tất cả các phụ thuộc Maven đã được giải quyết đúng cách.

Q: GroupDocs.Search có phù hợp cho các ứng dụng thời gian thực không?
A: Với các chiến lược lập chỉ mục phù hợp (cập nhật tăng dần và bộ nhớ đệm trong RAM), nó có thể cung cấp kết quả tìm kiếm gần thời gian thực.

Tài nguyên


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