Aspose.GroupDocs Redaction を使用した .NET ドキュメントインデックスの作成

クイック回答

  • 必要なライブラリは何ですか? GroupDocs.Redaction for .NET (latest NuGet version)。
  • .NET バージョンのサポート状況は? .NET Framework 4.6+, .NET Core 3.1+, .NET 5/6+。
  • インデックス作成可能なフォーマットは何ですか? Over 50 input formats — including PDF, DOCX, XLSX, PPTX, and common image types。
  • インデックスを壊さずにファイル名を変更できますか? Yes—use the built‑in Rename method and then call NotifyIndex。
  • 本番環境でライセンスは必要ですか? A valid GroupDocs.Redaction license is mandatory for production use。

「Create Document Index .NET」とは何ですか?

Create document index .net は、.NET アプリケーション内でファイルの検索可能なカタログを構築するプロセスを指し、各エントリはファイル名、パス、コンテンツのスニペットなどのメタデータを保存します。このインデックスにより、毎回ファイルシステム全体をスキャンすることなく高速な検索が可能になります。

インデックス作成に GroupDocs.Redaction を使用する理由

GroupDocs.Redaction は機密コンテンツの赤線処理だけでなく、標準的な 8 コアサーバー上で 1分あたり最大 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 Package Manager UI
“GroupDocs.Redaction” を検索し、最新バージョンをインストールしてください。

ライセンス取得手順

  1. Free Trial – GroupDocs ポータルから 30 日間のトライアルを取得してください。
  2. Temporary License – 拡張テスト用に一時キーをリクエストしてください。
  3. Purchase – フル機能を利用するための本番ライセンスを取得してください。

クリーンな作業ディレクトリを準備する方法

対象フォルダーを読み込み、不要な一時ファイルを削除し、インデックス作成対象のソースドキュメントをコピーします。この準備手順により、インデックス作成中の “file‑in‑use” エラーを排除し、インデックスビルダーが決定的なファイルセットに対して動作することが保証されます。クリーンな環境を確保することで、誤検出を減らし、権限問題を回避し、全体的なインデックス作成パフォーマンスが向上します。

ディレクトリのクリーンアップ

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 は、増分(新規または変更されたファイル)のみを処理し、フルリビルドに比べて CPU 負荷を 最大 85 % 削減します。このメソッドは作業ディレクトリをスキャンし、変更されたタイムスタンプのファイルを特定してエントリを更新し、変更されていないドキュメントはそのまま保持します。このアプローチにより、保守ウィンドウが大幅に短縮され、検索体験が応答性を保ちます。

using GroupDocs.Search;

Index indexToUpdate = new Index(indexFolder);

// Updates metadata without reindexing the entire document
indexToUpdate.Update();

一般的なユースケース

  1. Legal Document Management – 契約書、ブリーフ、ケースファイルをインデックス化し、即座に取得できるようにします。
  2. Digital Library Systems – 数千冊の電子書籍や研究論文に対してリアルタイム検索を提供します。
  3. Enterprise Content Management – 監査対応可能なディレクトリを維持し、命名規則を自動的に反映させます。
  4. Customer Support Archives – 以前のチケット、PDF、ナレッジベース記事を迅速に検索できます。

パフォーマンス上の考慮点

  • Batch Updates – 変更を最大 500 ファイルのバッチにまとめ、過剰な I/O スパイクを回避します。
  • Memory Management – 各操作後に Index オブジェクトを破棄してください。ライブラリはネイティブバッファを自動的に解放します。
  • Parallel Scanning – 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 の RAM、そして一時バッファ用に 500 MB の空きディスク容量が必要です。

Q: 大量のドキュメントセットでインデックス性能を最適化するにはどうすればよいですか?
A: 定期的に Index.Refresh を呼び出し、並列処理を有効にし、バッチサイズを制限してメモリ消費を抑制してください。

追加リソース


最終更新日: 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");

関連チュートリアル