.NET と GroupDocs で文書の赤字化と検索インデックス管理をマスターする

はじめに

検索可能な状態を保ちつつ how to redact documents が必要な場合、ここが適切な場所です。このチュートリアルでは、GroupDocs.Redaction と GroupDocs.Search を組み合わせて機密データを安全に隠し、そして add documents to index を行い高速検索を実現する方法を解説します。最後まで読むと、optimize search performance の方法、C# で PDF ファイルを赤字化する方法、そしてデータに合わせてスケールする堅牢なインデックスパイプラインの構築方法が理解できるようになります。

クイック回答

  • C# で PDF を赤字化するにはどうすればよいですか? RedactionEngine を使用してファイルを読み込み、赤字化領域を定義し、Save を呼び出します。
  • 検索インデックスを作成するクラスは何ですか? GroupDocs.Search の Index クラスがすべてのインデックス操作を管理します。
  • インデックス全体を再構築せずに新しいファイルを追加できますか? はい、インクリメンタル更新のために Index.AddDocument を呼び出します。
  • 赤字化は検索結果に影響しますか? 赤字化されたコンテンツはインデックスから除外され、検索結果はクリーンに保たれます。
  • サポートされている .NET バージョンはどれですか? .NET Framework 4.6.1+、.NET Core 3.1+、および .NET 5/6。

「how to redact documents」とは何ですか?

“How to redact documents” は、ファイルから機密情報をプログラムで削除またはマスクし、隠されたデータが復元または表示できないようにするプロセスを指します。赤字化は、コンプライアンス、プライバシー、法的ワークフローにおいて、データ漏洩を防止するために不可欠です。

なぜ赤字化と検索に GroupDocs を使用するのですか?

GroupDocs は 50 以上のファイル形式(PDF、DOCX、PPTX、画像タイプなど)をサポートし、ファイル全体をメモリにロードせずに数百ページの文書を処理でき、汎用ライブラリと比較して 最大 30 % 高速なインデックス作成 を実現します。Redaction + Search スイートを組み合わせることで、redact PDF C# ファイルをすぐにクリーンなバージョンとしてインデックス化でき、別途前処理ステップが不要になります。

前提条件

  • GroupDocs.Search for .NET (v20.11 以降)
  • GroupDocs.Redaction for .NET (v20.10 以降)
  • Visual Studio 2017 以降
  • .NET Framework 4.6.1 以降(または .NET Core 3.1+)

知識の前提条件

基本的な C# 構文、プロジェクト参照、ファイルシステム操作に慣れていることが望ましいです。

.NET 用 GroupDocs.Redaction の設定

ライブラリのインストール

.NET CLI
dotnet add package は、プロジェクトに NuGet パッケージをインストールする .NET CLI コマンドです。

dotnet add package GroupDocs.Redaction

Package Manager
Install-Package は、NuGet パッケージマネージャーコンソールでライブラリを追加するために使用される PowerShell コマンドです。

Install-Package GroupDocs.Redaction

NuGet Package Manager UI
“GroupDocs.Redaction” を検索し、Install をクリックして最新の安定版を取得します。

ライセンス取得

  • Free Trial – 30 日間のフル機能トライアル。
  • Temporary License – 評価用の 15 日間延長アクセス。
  • Purchase – 永続的な本番ライセンス。

基本的な初期化

RedactionEngine は、赤字化後に文書を読み込み、変更し、保存するためのコアクラスです。

using GroupDocs.Redaction;

RedactorSettings settings = new RedactorSettings();
// Further configuration and initialization...

実装ガイド

ソリューションを 3 つの論理的なパートに分割しましょう:インデックスの作成、文書(赤字化されたものを含む)の追加、インデックスの検索です。

GroupDocs.Search で検索インデックスを作成する方法は?

Index は GroupDocs.Search で検索可能なインデックスを表す主要クラスです。ディスク上のフォルダーを指定して Index インスタンスをロードまたは作成します。ライブラリは内部ファイルを自動的に管理します。このステップは optimizing search performance の基盤であり、適切に構造化されたインデックスはクエリ遅延を低減します。

using GroupDocs.Search;

string indexFolder = "YOUR_DOCUMENT_DIRECTORY/HelloWorldIndex";

Explanation: コードはインデックスファイルを格納するディレクトリを定義しています。専用フォルダーを使用することで、インデックスデータがソース文書から分離されます。

Index index = new Index(indexFolder);

Explanation: Index のインスタンス化は、既存のインデックスを開くか、パスが空の場合は新規作成します。

赤字化後に文書をインデックスに追加する方法は?

まず機密部分を赤字化し、次にクリーンなファイルをインデックスに投入します。この 2 段階のフローにより、安全なコンテンツのみが検索可能になります。

ソースフォルダーの定義

documentsFolder は元の PDF が格納されているパスです。

string documentsFolder = "YOUR_DOCUMENT_DIRECTORY/HelloWorldDocuments";

AddDocument は Index クラスのメソッドで、単一の文書をインデックスに追加します。

index.Add(documentsFolder);

作成したインデックス内を検索する方法は?

クエリ文字列を指定し、検索を実行し、結果を反復処理します。API はページ番号、スニペット、文書識別子を返すため、UI に結果を表示しやすくなります。

SearchResult はクエリで返された結果を保持し、マッチした文書とスニペットを含みます。

string query = "Lorem";
SearchResult result = index.Search(query);

実践的な活用例

これらの機能は実際の課題を解決します:

  1. Legal Document Management – ケースファイルをインデックス化する前にクライアント名を赤字化し、プライバシーを確保しつつ弁護士が判例を検索できるようにします。
  2. Healthcare Records – 医療 PDF から患者識別子を除去し、サニタイズされたバージョンをインデックス化して迅速な監査クエリに対応します。
  3. Corporate Compliance – 財務諸表の赤字化を自動化し、クリーンなバージョンを即座にインデックス化して内部調査で検索可能にします。

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

大量データを扱う際に optimizing search performance を実現するために:

  • インデックス作成をバックグラウンドジョブとして実行し、変更をバッチでコミットします。
  • Index オブジェクトを速やかに破棄してアンマネージドリソースを解放します。
  • メモリ使用量を監視します。GroupDocs.Search はデータをストリーミングし、文書全体を RAM にロードしません。
  • 定期的にインデックスマージをスケジュールし、インデックスをコンパクトかつ高速クエリに保ちます。

一般的な問題と解決策

問題解決策
巨大な PDF でのメモリ不足エラーRedactionEngine とストリーミングモードを有効にする RedactionOptions を使用します。
検索で赤字化された用語が返されるIndex.AddDocument を呼び出す 前に 赤字化を実行してください。
サポートされていないファイル形式ファイル拡張子が 50 以上のサポート対象形式に含まれているか確認し、サポート外のファイルはまず PDF に変換してください。
ライセンスが認識されないライセンスファイルをアプリケーションのルートに配置し、API を使用する前に License.SetLicense("license.json") を呼び出してください。

よくある質問

Q: PDF C# ファイルを変換せずに直接赤字化できますか?
A: はい、RedactionEngine は PDF ストリームをネイティブに処理できるため、PDF をロードし、赤字化オブジェクトを適用し、形式変換なしで結果を保存できます。

Q: 文書をインデックスに追加すると検索速度にどのように影響しますか?
A: インクリメンタルインデックスは新しいファイルのみを追加するため、インデックスサイズが安定し、典型的なワークロードでクエリ遅延が 200 ms 未満に抑えられます。

Q: 自動再インデックス化をスケジュールできますか?
A: もちろんです。Windows Service や Azure Function を使用してタイマーで Index.AddDocument を呼び出し、新しくアップロードされたファイルをインデックスに投入します。

Q: 赤字化は隠されたデータを永久に削除しますか?
A: はい、赤字化は元のバイトを書き換えるため、フォレンジックツールを使用しても復元は不可能です。

Q: 完全にサポートされている .NET バージョンは何ですか?
A: .NET Framework 4.6.1+ と .NET Core 3.1+(.NET 5/6 を含む)の両方が公式にサポートされています。

リソース


最終更新日: 2026-07-02
テスト環境: GroupDocs.Search 21.2 and GroupDocs.Redaction 21.1 for .NET
作者: GroupDocs

関連チュートリアル