Cách Tạo Chỉ mục trong .NET với API Tìm kiếm GroupDocs

Trong hướng dẫn này, bạn sẽ khám phá cách tạo chỉ mục cho các ứng dụng .NET của mình bằng cách sử dụng GroupDocs.Search và sau đó bảo vệ nội dung nhạy cảm bằng GroupDocs.Redaction. Khi kết thúc hướng dẫn, bạn sẽ có thể xây dựng, cập nhật và loại bỏ các mục có thể tìm kiếm, và bạn sẽ hiểu tại sao việc kết hợp tìm kiếm và che dấu là thực tiễn tốt nhất cho quản lý tài liệu an toàn.

Câu trả lời nhanh

  • “Cách tạo chỉ mục” có nghĩa là gì? Nó có nghĩa là xây dựng một cấu trúc dữ liệu có thể tìm kiếm, ánh xạ nội dung tài liệu tới các khóa tra cứu nhanh.
  • Cần những thư viện nào? GroupDocs.Search và GroupDocs.Redaction cho .NET (gói NuGet).
  • Tôi có thể lập chỉ mục PDF, Word và hình ảnh không? Có — hơn 150 định dạng được hỗ trợ ngay lập tức.
  • Làm thế nào để xóa một tài liệu khỏi chỉ mục? Gọi phương thức Delete với đường dẫn hoặc ID của tài liệu.
  • Việc che dấu được thực hiện trước hay sau khi lập chỉ mục? Che dấu nên được thực hiện trước để dữ liệu được bảo vệ không bao giờ vào chỉ mục.

“Cách tạo chỉ mục” là gì?

Cụm từ cách tạo chỉ mục đề cập đến quá trình tạo ra một cấu trúc dữ liệu có thể tìm kiếm, lưu trữ các ánh xạ từ thuật ngữ tới tài liệu để truy xuất nhanh chóng. Trong GroupDocs, cấu trúc này tồn tại trên đĩa và có thể được cập nhật một cách tăng dần mà không cần xây dựng lại toàn bộ bộ sưu tập.

Tại sao nên sử dụng GroupDocs.Search và GroupDocs.Redaction cùng nhau?

GroupDocs.Search hỗ trợ lập chỉ mục hơn 150 định dạng tệp và có thể xử lý các chỉ mục lớn hơn 10 GB trong khi giữ mức sử dụng bộ nhớ dưới 200 MB vì nó truyền dữ liệu tệp theo luồng thay vì tải toàn bộ. Thêm GroupDocs.Redaction đảm bảo rằng bất kỳ văn bản, hình ảnh hoặc siêu dữ liệu nhạy cảm nào đều được loại bỏ trước khi nội dung tiếp cận chỉ mục, đảm bảo tuân thủ GDPR, HIPAA và các quy định khác.

Yêu cầu trước

  • Thư viện & Phiên bản – Cài đặt các gói NuGet GroupDocs.Search và GroupDocs.Redaction mới nhất, tương thích với .NET 6 trở lên.
  • IDE – Visual Studio 2022 (hoặc bất kỳ IDE nào hỗ trợ .NET 6).
  • Kiến thức – Kỹ năng C# cơ bản, quen thuộc với I/O tệp, và hiểu biết về các khái niệm lập chỉ mục.

Cài đặt GroupDocs.Redaction cho .NET

Cài đặt

Using .NET CLI:

dotnet add package GroupDocs.Redaction

Using Package Manager Console in Visual Studio:

Install-Package GroupDocs.Redaction

Bạn cũng có thể tìm “GroupDocs.Redaction” trong giao diện NuGet Package Manager và cài đặt phiên bản ổn định mới nhất.

Nhận giấy phép

Bạn có thể nhận bản dùng thử miễn phí hoặc yêu cầu giấy phép tạm thời để khám phá tất cả các tính năng mà không bị giới hạn. Truy cập Trang mua GroupDocs để biết thêm chi tiết về cách nhận giấy phép.

Khởi tạo cơ bản

Redactor là lớp chính thực hiện các thao tác che dấu trên tài liệu.
The following snippet shows the minimal code required to start using GroupDocs.Redaction:

// Initialize the Redactor with a file path or stream
using (Redactor redactor = new Redactor("input.docx"))
{
    // Your redaction code here
}

Thiết lập đơn giản này là tất cả những gì bạn cần để bắt đầu sử dụng GroupDocs.Redaction.

Hướng dẫn triển khai

Cách tạo chỉ mục?

Index đại diện cho container có thể tìm kiếm chứa các từ điển thuật ngữ và siêu dữ liệu tài liệu. Tải hoặc tạo một đối tượng Index, chỉ định thư mục nơi các tệp chỉ mục sẽ được lưu, và gọi Create. Thao tác này ghi các tệp siêu dữ liệu cần thiết và chuẩn bị engine để nhập tài liệu.

// Direct answer (40‑70 words):
Create a new `Index` instance by specifying the folder path where the index will reside, then invoke `Create()` to initialise the storage structures. The method writes index headers, term dictionaries, and a lock file, making the folder ready for document addition. This step is required only once per index location.

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

using GroupDocs.Search;

string indexFolder = @"YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Indexing/DeleteIndexedPaths";
Index index = new Index(indexFolder);
// This line initializes an index at the provided folder path.

Cách thêm tài liệu vào chỉ mục?

Add chèn một tài liệu duy nhất vào chỉ mục, trong khi AddFolder xử lý tất cả các tệp trong một thư mục. Bạn thêm tệp bằng cách gọi Add hoặc AddFolder. Engine đọc mỗi tệp được hỗ trợ, trích xuất văn bản và cập nhật từ điển thuật ngữ.

// Direct answer (40‑70 words):
Use `index.AddFolder("C:\\Docs")` or `index.Add("C:\\Docs\\file.pdf")` to feed documents into the index. The API streams each file, extracts searchable text, and stores term‑frequency data without loading the entire file into memory, which lets you index thousands of large PDFs efficiently.

Bước 2: Thêm thư mục tài liệu

string documentsFolder1 = @"YOUR_DOCUMENT_DIRECTORY";
string documentsFolder2 = @"YOUR_DOCUMENT_DIRECTORY2";

index.Add(documentsFolder1);  // Adding the first folder of documents to the index
index.Add(documentsFolder2);  // Adding the second folder of documents to the index

Cách lấy các đường dẫn đã lập chỉ mục?

GetIndexedPaths trả về một tập hợp các đường dẫn tài liệu được lưu trong chỉ mục. Lấy danh sách các đường dẫn tệp đã lập chỉ mục cho phép bạn xác minh tài liệu nào hiện đang có thể tìm kiếm.

// Direct answer (40‑70 words):
Call `index.GetIndexedDocuments()` to obtain a collection of `IndexedDocumentInfo` objects, each containing the original file path, document ID, and indexing timestamp. Loop through the collection and output the `FilePath` property to confirm that every expected file has been successfully added.

Bước 3: Hiển thị các đường dẫn đã lập chỉ mục

string[] indexedPaths1 = index.GetIndexedPaths();
foreach (string path in indexedPaths1)
{
    Console.WriteLine(path); // Outputs the document paths
}

Cách xóa tài liệu khỏi chỉ mục?

Delete loại bỏ một tài liệu khỏi chỉ mục bằng đường dẫn hoặc định danh của nó. Khi một tệp bị xóa hoặc trở nên lỗi thời, bạn nên xóa mục nhập của nó để duy trì độ chính xác của kết quả tìm kiếm.

// Direct answer (40‑70 words):
Invoke `index.Delete("C:\\Docs\\obsolete.pdf")` or `index.Delete(documentId)` to purge a specific document from the index. The method removes all term entries linked to that file, updates the term dictionary, and frees the space on disk, ensuring that future queries no longer return the deleted content.

Bước 4: Xóa các đường dẫn cụ thể

using GroupDocs.Search.Options;

string[] pathsToDelete = { @"YOUR_DOCUMENT_DIRECTORY" };
DeleteResult deleteResult = index.Delete(pathsToDelete, new UpdateOptions());
// This deletes specified document paths from the index.

Cách xác minh các đường dẫn còn lại trong chỉ mục sau khi xóa?

Sau khi xóa, bạn có thể chạy lại phương pháp lấy dữ liệu để đảm bảo chỉ mục phản ánh trạng thái hiện tại.

// Direct answer (40‑70 words):
Run `index.GetIndexedDocuments()` again and compare the resulting list with the pre‑deletion list. The missing file path confirms successful deletion, while the remaining entries confirm the index’s integrity. This verification step is especially important in automated pipelines.

Bước 5: Xác minh các đường dẫn còn lại

string[] indexedPaths2 = index.GetIndexedPaths();
foreach (string path in indexedPaths2)
{
    Console.WriteLine(path); // Displays remaining paths after deletion
}

Ứng dụng thực tiễn

  1. Hệ thống quản lý tài liệu – Nhanh chóng tìm kiếm hợp đồng, hoá đơn hoặc hướng dẫn trên hàng triệu tệp.
  2. Đánh giá tài liệu pháp lý – Che dấu thông tin đặc quyền trước khi lập chỉ mục để tránh lộ thông tin vô tình.
  3. Giải pháp lưu trữ – Bảo tồn siêu dữ liệu có thể tìm kiếm cho các hồ sơ lịch sử mà không cần tải toàn bộ kho lưu trữ vào bộ nhớ.
  4. Nền tảng quản lý nội dung – Cung cấp khả năng tìm kiếm toàn trang cho blog, cơ sở kiến thức và thư viện đa phương tiện.
  5. Kiểm toán tuân thủ dữ liệu – Đảm bảo chỉ nội dung đã được làm sạch mới có thể tìm kiếm, đáp ứng các yêu cầu quy định.

Các yếu tố hiệu năng

  • Tối ưu hoá việc lập chỉ mục – Lên lịch lập chỉ mục tăng dần hàng đêm; sử dụng AddFolder với kích thước batch là 100 tệp để giảm đột biến I/O.
  • Quản lý tài nguyên – Giám sát CPU và RAM; GroupDocs.Search xử lý tệp theo luồng, giữ mức bộ nhớ tối đa dưới 200 MB ngay cả với các chỉ mục 10 GB.
  • Thực tiễn tốt – Lưu chỉ mục trên SSD để có thời gian phản hồi truy vấn dưới giây, và bật nén (index.Compression = true) để giảm một nửa dung lượng đĩa.

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

Q: Tôi có thể lập chỉ mục các tệp không phải văn bản với GroupDocs không?
A: Có, GroupDocs.Search có thể lập chỉ mục hơn 150 định dạng — bao gồm PDF, DOCX, PPTX, XLSX và các loại hình ảnh — bằng cách trích xuất văn bản nhúng qua OCR khi cần.

Q: Làm thế nào để xử lý khối lượng lớn tài liệu?
A: Sử dụng AddFolder với kích thước batch có thể cấu hình, chạy việc lập chỉ mục trong dịch vụ nền, và định kỳ gọi Optimize() để hợp nhất các đoạn chỉ mục nhỏ.

Q: Lợi ích của việc sử dụng che dấu cùng với lập chỉ mục là gì?
A: Che dấu loại bỏ thông tin nhận dạng cá nhân trước khi nó tới chỉ mục, đảm bảo kết quả tìm kiếm không bao giờ lộ dữ liệu được bảo vệ.

Q: Có thể tùy chỉnh thuật toán tìm kiếm không?
A: GroupDocs.Search cung cấp từ điển đồng nghĩa, tokenizer tùy chỉnh và bộ lọc biểu thức chính quy, cho phép bạn tinh chỉnh điểm số liên quan.

Q: Làm sao để khắc phục các vấn đề lập chỉ mục thường gặp?
A: Kiểm tra quyền thư mục, đảm bảo runtime .NET phù hợp với mục tiêu của thư viện, và xem tệp log được tạo trong thư mục chỉ mục để biết chi tiết lỗi.

Tài nguyên

Khám phá các tài nguyên này để nâng cao hiểu biết và cải thiện việc triển khai GroupDocs.Search và Redaction trong .NET. Chúc lập trình vui vẻ!


Last Updated: 2026-07-26
Tested With: GroupDocs.Search 23.10, GroupDocs.Redaction 23.10 for .NET
Author: GroupDocs

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