使用 GroupDocs.Redaction 建立 .NET 搜尋索引:索引與管理別名以確保文件安全管理
管理大量文件同時保持敏感資訊機密可能具挑戰性。使用 GroupDocs.Redaction for .NET,您可以 create search index .NET 專案,對文件集合進行遮蔽與搜尋。此教學將指導您如何使用 Aspose.Search.NET 建立或開啟索引、將文件加入索引、管理別名字典,並整合遮蔽功能——同時確保嚴格的資料安全。
快速解答
- 本指南的主要目的為何? 說明如何使用 create search index .NET 專案、將文件加入索引,並使用 GroupDocs.Redaction 管理別名。
- 需要哪些函式庫? GroupDocs.Redaction and Aspose.Search.NET, both available via NuGet。
- 需要授權嗎? 免費試用可用於評估;正式環境需購買完整授權。
- 能處理大量文件嗎? 可以——兩個函式庫皆支援處理多百頁檔案,且不需將整個檔案載入記憶體。
- 此解決方案相容 .NET‑Core 嗎? 當然相容;可在 .NET 5、.NET 6 及更高版本上執行。
介紹
在深入探討之前,先說明為何 creating a search index .NET 解決方案重要。索引能讓您在毫秒內於數千個檔案中定位精確片語、模式或已遮蔽的內容,極大加速合規審查、法律取證與內部稽核。結合 Aspose.Search.NET 強大的索引引擎與 GroupDocs.Redaction 完備的遮蔽工具,即可獲得同時保護與即時搜尋資料的單一流程。
GroupDocs.Redaction for .NET 是什麼?
GroupDocs.Redaction for .NET 是一套函式庫,可程式化遮蔽文字、影像與中繼資料,支援超過 30 種文件格式,包括 PDF、DOCX、PPTX 與 HTML。它可處理高達 2 GB 的檔案,且無需將整個文件載入記憶體,確保企業工作負載的高效能運作。
為何使用 Aspose.Search.NET 建立 .NET 搜尋索引?
Aspose.Search.NET 能索引 50+ 種檔案類型,且支援增量更新,意味著您可將新檔案加入現有索引,而無需重新建置。相較於完整重新索引,可降低最高 70 % 的 CPU 使用率,且對含有 500 k+ 文件的索引,查詢回應時間維持在 200 ms 以下。
前置條件
必要函式庫、版本與相依性
- GroupDocs.Redaction – 最新的 NuGet 版本,兼容 .NET 5/6/7。
- Aspose.Search.NET – 最新的 NuGet 版本,支援 .NET Standard 2.0+ 與 .NET Core。
兩個函式庫必須針對相同的 .NET 執行時版本,以避免繫結衝突。
環境設定需求
- Visual Studio 2022(或任何支援 .NET 6+ 的 IDE)。
- 取得包含您欲索引與遮蔽之文件的資料夾存取權限。
知識前提
- 熟悉 C# 語法與 .NET 專案結構。
- 了解索引、搜尋與文件遮蔽的基本概念。
如何建立 .NET 搜尋索引?
載入或實例化 Index 物件,指向資料夾,並呼叫 CreateOrOpen——此一步即可在磁碟上建立或重新開啟可搜尋的儲存區。此操作預設於背景執行緒執行,讓 UI 在索引數千檔案時仍保持回應。
Index 代表儲存在磁碟上的可搜尋集合。
定義錨點
Index 類別是 Aspose.Search.NET 的核心元件,代表磁碟上文件的可搜尋集合。所有索引與查詢操作皆透過此物件進行。
dotnet add package GroupDocs.Redaction
如何將文件加入索引?
AddDocument 會將檔案加入索引並擷取其可搜尋內容。
透過對每個檔案路徑呼叫 Index.AddDocument 來加入文件;此方法會自動擷取文字、元資料與可選的 OCR 內容。您可在 foreach 迴圈中批次加入檔案,索引將以增量方式更新,而不會重新建置現有條目。此程序亦會回傳狀態物件,指示成功或錯誤,讓您能以程式方式處理失敗。
Install-Package GroupDocs.Redaction
取得授權步驟
- 免費試用 – 30 天內免費探索所有功能。
- 臨時授權 – 使用限時金鑰以延長測試。
- 完整授權 – 生產環境部署必須,且移除所有評估限制。
安裝完成後,請依下列方式初始化 GroupDocs.Redaction:
using GroupDocs.Redaction;
RedactorSettings settings = new RedactorSettings();
// Set up additional configuration as needed
實作指南
我們將依功能將實作分解為可管理的章節。
建立或開啟索引
概觀
建立或開啟搜尋索引是有效文件管理與搜尋的基礎。它讓您能快速操作已索引的資料。
步驟說明
1. 建立/開啟索引
using GroupDocs.Search;
// Specify the directory where your index will be stored
string indexPath = "YOUR_INDEX_DIRECTORY";
// Initialize or open an existing index
Index index = new Index(indexPath);
// Explanation: The Index object is initialized with a directory path,
// which serves as a storage location for all indexed data.
2. 將文件加入索引
using GroupDocs.Search;
// Specify your document directory
string docPath = "YOUR_DOCUMENT_DIRECTORY";
// Add documents from the specified directory to the index
index.Add(docPath);
// Explanation: The Add method indexes all documents within the provided path,
// making them searchable.
管理別名字典
概觀
別名字典中的別名允許您為複雜的搜尋查詢定義簡寫詞彙,提升搜尋效率與可讀性。
步驟說明
1. 清除現有別名
using GroupDocs.Search.Dictionaries;
// Check if there are existing aliases and clear them
if (index.Dictionaries.AliasDictionary.Count > 0)
{
index.Dictionaries.AliasDictionary.Clear();
}
// Explanation: This ensures you start with a clean slate when managing aliases.
2. 新增單一別名條目
index.Dictionaries.AliasDictionary.Add("t", "(gravida OR promotion)");
index.Dictionaries.AliasDictionary.Add("e", "(viverra OR farther)");
// Explanation: Each alias is mapped to an expression that defines its search scope.
3. 使用陣列新增多筆別名
AliasReplacementPair[] pairs = new AliasReplacementPair[]
{
new AliasReplacementPair("d", "daterange(2017-01-01 ~~ 2019-12-31)"),
new AliasReplacementPair("n", "(400 ~~ 4000)")
};
index.Dictionaries.AliasDictionary.AddRange(pairs);
// Explanation: AddRange allows bulk addition of aliases, streamlining the setup process.
取得與匯出別名
概觀
將別名字典匯出至檔案可讓您在團隊或不同環境間共享搜尋詞彙,而取得特定條目則有助於驗證查詢邏輯。
取得別名
if (index.Dictionaries.AliasDictionary.Contains("e"))
{
string replacement = index.Dictionaries.AliasDictionary.GetText("e");
}
// Explanation: Use Contains to check existence before retrieval.
匯出別名
string exportPath = "YOUR_OUTPUT_DIRECTORY/Aliases.dat";
index.Dictionaries.AliasDictionary.ExportDictionary(exportPath);
// Explanation: ExportDictionary saves the alias dictionary for future use or sharing.
匯入別名並使用別名字典搜尋
概觀
從檔案匯入別名,以使用預先定義的簡寫詞彙簡化搜尋作業,接著執行引用這些別名的查詢。
1. 匯入別名
string importPath = "YOUR_OUTPUT_DIRECTORY/Aliases.dat";
index.Dictionaries.AliasDictionary.ImportDictionary(importPath);
// Explanation: This method loads existing alias definitions into the dictionary.
2. 使用別名搜尋
string query = "@t OR @e"; // Use aliases in your search query
SearchResult result = index.Search(query);
// Explanation: Leverage aliases to perform complex searches with simple queries.
常見問題與解決方案
- 索引路徑錯誤 – 確認資料夾路徑為絕對路徑,且應用程式具備讀寫權限。
- 記憶體洩漏 – 使用完畢後務必呼叫
Dispose()釋放Index物件,尤其在長時間執行的服務中。 - 別名未被識別 – 確認別名檔案使用 UTF‑8 編碼,且每行皆符合
key=value格式。
常見問答
Q: 我可以在 .NET Core 上使用此解決方案嗎?
A: 可以,GroupDocs.Redaction 與 Aspose.Search.NET 完全支援 .NET Core 3.1、.NET 5、.NET 6 及更高版本。
Q: 索引能處理多少文件?
A: 引擎已在超過 100 萬文件的索引上測試,於標準伺服器硬體上仍能維持次秒級查詢時間。
Q: 別名支援正規表達式嗎?
A: 別名可包含通配符 (* 與 ?),但不支援完整的正規表達式;若需複雜模式,請以程式方式建構查詢。
Q: 能在搜尋後進行遮蔽嗎?
A: 完全可以。從搜尋結果取得文件 ID,使用 GroupDocs.Redaction 載入,套用遮蔽規則,並儲存受保護的版本。
Q: 大型企業適用何種授權模式?
A: GroupDocs 提供以授權數量為基礎的方案,允許無限制的開發人員與部署站點;請聯絡業務取得客製化報價。
結論
透過精通 GroupDocs.Redaction 與 Aspose.Search.NET 的整合,打造 create search index .NET 解決方案,您可大幅提升文件安全性、合規性與可發現性。現在您已具備建立索引、將文件加入索引、管理別名字典,以及套用遮蔽規則的工具——全部於單一高效能 .NET 應用程式中完成。
接下來的步驟?在測試專案中實作程式碼片段,嘗試自訂別名模式,並以您的正式資料集進行索引速度效能測試。
最後更新: 2026-07-02
測試環境: GroupDocs.Redaction 23.10 for .NET, Aspose.Search.NET 24.5
作者: GroupDocs