建立文件索引 .NET 與 Aspose.GroupDocs Redaction
管理大量檔案集合如果沒有可靠的方法保持資料夾整潔 且 搜尋索引保持最新,會很快變成噩夢。在本教學中,您將學習如何使用 GroupDocs.Redaction for .NET 建立文件索引 .net,涵蓋目錄準備、索引建立、文件重新命名以及索引更新。完成後,您將擁有可重複的工作流程,能從少量 PDF 擴展至成千上萬的法律或支援文件。
快速解答
- 需要哪個函式庫? GroupDocs.Redaction for .NET (latest NuGet version).
- 支援哪些 .NET 版本? .NET Framework 4.6+, .NET Core 3.1+, .NET 5/6+.
- 可以索引多少種格式? 超過 50 種輸入格式 — 包括 PDF、DOCX、XLSX、PPTX,以及常見的影像類型。
- 可以在不破壞索引的情況下重新命名檔案嗎? 可以—使用內建的
Rename方法,然後呼叫NotifyIndex。 - 生產環境是否需要授權? 有效的 GroupDocs.Redaction 授權是生產使用的必要條件。
「建立文件索引 .NET」是什麼?
建立文件索引 .net 指的是在 .NET 應用程式中建立可搜尋的檔案目錄, 每筆條目儲存檔名、路徑與內容摘要等中繼資料。此索引可在不每次掃描整個檔案系統的情況下快速查詢。
為何使用 GroupDocs.Redaction 進行索引?
GroupDocs.Redaction 不僅能對敏感內容進行遮蔽,還提供高效能的索引引擎,能在標準 8 核心伺服器上 每分鐘處理多達 10,000 份文件,且大多工作負載的記憶體使用量低於 200 MB。其 API 抽象化檔案系統的特殊情況,為您提供一致的目錄管理與索引同步方式。
前置條件
- GroupDocs.Redaction NuGet 套件已安裝(最新穩定版)。
- Visual Studio 2022 或任何相容 .NET 的 IDE。
- 基本的 C# 知識(檔案 I/O、例外處理)。
必要的函式庫、版本與相依性
GroupDocs.Redaction≥ 23.10(支援 .NET Standard 2.0 與 .NET 5+)。- 可選:
Microsoft.Extensions.Logging用於詳細診斷。
環境設定需求
透過以下任一指令新增套件(不要修改代表實際程式碼區塊的佔位符):
.NET CLI
dotnet add package GroupDocs.Redaction
Package Manager
Install-Package GroupDocs.Redaction
NuGet 套件管理員 UI
搜尋 “GroupDocs.Redaction” 並安裝最新版本。
取得授權步驟
- 免費試用 – 從 GroupDocs 入口網站取得 30 天試用。
- 臨時授權 – 申請臨時金鑰以延長測試。
- 購買 – 取得正式授權以解鎖全部功能。
如何準備乾淨的工作目錄?
載入目標資料夾,刪除零散的暫存檔,並複製您打算索引的來源文件。此準備步驟可消除索引期間的「檔案被佔用」錯誤,並確保索引建構器針對確定的檔案集合運作。確保環境潔淨可減少誤報、避免權限問題,並提升整體索引效能。
清理目錄
DirectoryCleaner 類別會移除可能干擾索引的殘留檔案(例如 .tmp、.bak)。
using GroupDocs.Search.Common;
using System.IO;
string documentFolder = "YOUR_DOCUMENT_DIRECTORY/";
// Ensure the directory is empty before use
Utils.CleanDirectory(documentFolder);
複製必要檔案
FilePreparer 會將來源 PDF、DOCX 與影像複製到工作資料夾,保留原始的資料夾層級結構。
// Copy essential documents to the target directory from a source path
Utils.CopyFiles(Utils.DocumentsPath, documentFolder);
如何建立索引?
Index 代表可搜尋的文件集合,並管理底層的儲存結構。
實例化 Index 物件,指向您的乾淨目錄,然後呼叫 Build。此操作會掃描每個檔案,提取可搜尋的文字,並以高效的二進位結構儲存。建構器同時記錄檔案路徑與時間戳等中繼資料,讓快速查詢與增量更新成為可能,無需重新處理未變更的文件。
建立索引
Index 類別是代表可搜尋文件集合的核心元件。
using GroupDocs.Search;
string indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index/";
Index index = new Index(indexFolder); // Create the index
// Add documents from your directory to the index
index.Add("YOUR_DOCUMENT_DIRECTORY/Documents/");
如何重新命名文件並通知索引?
DocumentRenamer 提供在保持索引完整性的同時重新命名檔案的工具。
DocumentRenamer.RenameAndNotify 會在磁碟上重新命名檔案,然後呼叫 Index.UpdateEntry 以保持目錄的正確性。透過在單一交易中執行重新命名與即時索引通知,您可避免過時的參照,並確保後續搜尋返回新檔名。此方法亦會記錄操作以供稽核追蹤。
using System;
using GroupDocs.Search;
using System.IO;
string oldDocumentPath = "YOUR_DOCUMENT_DIRECTORY/Documents/Lorem ipsum.txt";
string newDocumentPath = "YOUR_DOCUMENT_DIRECTORY/Documents/Lorem ipsum renamed.txt";
// Rename the file by moving it to a new path
File.Move(oldDocumentPath, newDocumentPath);
// Notify the index about this change\NSNotification notification = Notification.CreateRenameNotification(oldDocumentPath, newDocumentPath);
Index indexForNotify = new Index(indexFolder);
bool result = indexForNotify.Notify(notification);
Console.WriteLine($"Successful rename: {result}");
如何在變更後更新既有索引?
Index.Refresh 會對既有索引套用增量變更,而不需完整重建。
Index.Refresh 僅處理差異(新檔或變更檔),相較於完整重建可降低 最高 85 % 的 CPU 負載。此方法掃描工作目錄,辨識時間戳已變更的檔案,並更新其條目,同時保留未變動的文件。此做法大幅縮短維護窗口,並保持搜尋體驗的回應速度。
using GroupDocs.Search;
Index indexToUpdate = new Index(indexFolder);
// Updates metadata without reindexing the entire document
indexToUpdate.Update();
常見使用案例
- 法律文件管理 – 索引合約、簡報與案件檔案,以即時檢索。
- 數位圖書館系統 – 提供跨數千本電子書與研究論文的即時搜尋。
- 企業內容管理 – 維護符合稽核需求的目錄,並自動反映命名慣例。
- 客戶支援檔案庫 – 快速定位先前的工單、PDF 與知識庫文章。
效能考量
- 批次更新 – 將變更分組為 ≤ 500 檔案的批次,以避免過度的 I/O 峰值。
- 記憶體管理 – 每次操作後釋放
Index物件;函式庫會自動釋放本機緩衝區。 - 平行掃描 – 啟用
IndexOptions.EnableParallelProcessing以利用多核心 CPU,在 8 核機器上可達 3 倍 加速。
常見問題
Q: GroupDocs.Redaction 的主要用途是什麼?
A: 它會對 PDF、DOCX 與影像中的敏感內容進行遮蔽,同時提供強大的目錄與索引工具。
Q: 我可以同時管理多個目錄嗎?
A: 可以—為每個資料夾建立獨立的 Index 實例,並平行運作。
Q: 如何處理索引期間的錯誤?
A: 將 Index.Build 與 Index.Refresh 包在 try‑catch 區塊中;記錄 RedactionException 詳細資訊以便除錯。
Q: GroupDocs.Redaction 的系統需求是什麼?
A: .NET Framework 4.6+ 或 .NET Core 3.1+ 執行環境,至少 2 GB 記憶體,及 500 MB 可用磁碟空間作為暫存緩衝區。
Q: 如何優化大型文件集合的索引效能?
A: 定期呼叫 Index.Refresh,啟用平行處理,並限制批次大小,以控制記憶體使用量。
其他資源
- 文件說明: GroupDocs Redaction Documentation
- API 參考: GroupDocs API Reference
- 下載: Get GroupDocs Redaction
- 免費支援: GroupDocs Forum
- 臨時授權: Acquire a Temporary License
最後更新: 2026-06-22
測試環境: GroupDocs.Redaction 23.10 for .NET
作者: GroupDocs
using GroupDocs.Redaction;
// Initialize the Redactor object with your document path
var redactor = new Redactor("YOUR_DOCUMENT_PATH");