GroupDocs Search を使用した .NET でのドキュメントの赤字化方法
現代の企業では、ドキュメントを迅速かつ安全に赤字化することが日々の課題です。GroupDocs.Search と GroupDocs.Redaction for .NET を組み合わせて使用すると、機密コンテンツを赤字化するだけでなく、あいまい検索を実行し、HTML で検索結果をハイライトすることもできる、堅牢な即使用可能なソリューションが提供されます。このチュートリアルでは、ライブラリのインストール、インデックスの作成、あいまい検索クエリの実行、ハイライトされた出力の生成までを、明確で本番環境向けのコードスニペットとともに解説します。
クイック回答
- 最初のステップは何ですか? Install the GroupDocs.Search and GroupDocs.Redaction NuGet packages.
- PDF と Word ファイルを赤字化できますか? Yes, both formats are supported out of the box.
- あいまい検索は利用可能ですか? Absolutely – you can tune accuracy from 0 % to 100 %.
- 開発にライセンスは必要ですか? A free trial license works for testing; a paid license is required for production.
- このソリューションは .NET 6 で動作しますか? Yes, the libraries are compatible with .NET Framework 4.5+, .NET Core 3.1+, .NET 5+, and .NET 6+.
GroupDocs.Search とは?
GroupDocs.Search は、100 以上のファイル形式にわたる高速インデックス作成と全文検索を提供する .NET ライブラリです。ファイル全体をメモリに読み込むことなく最大 2 GB のドキュメントを処理できるため、大規模リポジトリに最適です。増分インデックス作成、多言語解析をサポートし、.NET アプリケーションとシームレスに統合できるため、開発者は最小限のコードで強力な検索体験を構築できます。
ドキュメントの赤字化に GroupDocs.Redaction を使用する理由
GroupDocs.Redaction は 30 以上の組み込み赤字化パターンを提供し、バッチ処理をサポートするため、個人データ、機密条項、規制マークなどが永久に削除されます。ベンチマークテストでは、標準サーバー上で 500 ページの PDF を赤字化するのに 2 秒未満かかります。エンジンはドキュメントのコンテンツストリーム上で動作し、赤字化された領域が復元できないことを保証し、元の書式やレイアウトを保持します。
前提条件
- 必要なライブラリ: GroupDocs.Search, GroupDocs.Redaction
- サポートプラットフォーム: .NET Framework 4.5+, .NET Core 3.1+, .NET 5+, .NET 6+
- IDE: Visual Studio 2022 以降(任意のエディション)
- 基本スキル: C#、ファイル I/O、OOP の概念に精通していること
.NET プロジェクトで GroupDocs.Search と GroupDocs.Redaction を設定する方法
.NET CLI、Package Manager Console、または UI を使用して NuGet パッケージをインストールし、プロジェクトにライセンスファイルを追加します。この 2 段階の設定だけで、インデックス作成や赤字化コードを書く前の準備が整います。パッケージを追加したら、ライセンスファイルをアプリケーションのルートに配置し、コードファイルで名前空間を参照してください。
.NET 用 GroupDocs.Redaction の設定
.NET アプリケーションで GroupDocs.Search と GroupDocs.Redaction を使用し始めるには、以下のインストール手順に従ってください。
.NET CLI
dotnet add package GroupDocs.Redaction
Package Manager Console
Install-Package GroupDocs.Redaction
NuGet Package Manager UI
「GroupDocs.Redaction」を検索し、最新バージョンをインストールします。
ライセンス取得手順
- Free Trial: GroupDocs にサインアップして一時ライセンスを取得します。
- Purchase: 完全なアクセスのために、GroupDocs のウェブサイトからライセンスを購入します。
- Temporary License: 提供されたリンクから評価用に取得します。
基本的な初期化と設定
Index クラスはディスク上に保存される検索可能なインデックスを表し、ドキュメントの追加、更新、クエリ用メソッドを提供します。インストール後、必要な構成でプロジェクトを初期化してください:
using GroupDocs.Search;
using GroupDocs.Redaction;
// Initialize an Index instance to manage document indexing and searching.
Index index = new Index("path/to/index/folder");
実装ガイド
ドキュメントの作成とインデックス化
概要
この機能は、複数のファイルを含むフォルダーのインデックスを作成することで、ドキュメントを効率的に整理する方法を示します。
手順 1: パスの定義
string indexFolder = "YOUR_DOCUMENT_DIRECTORY/ObtainSearchResultInformation";
string documentFolder = "YOUR_DOCUMENT_DIRECTORY/DocumentsPath";
// Create an instance of the Index class.
Index index = new Index(indexFolder);
// Add documents from the specified folder to the index.
index.Add(documentFolder);
あいまい検索の設定と実行
概要
あいまい検索は、検索語にわずかな違いがあってもドキュメントを見つけることができます。この機能は、精度を調整可能なあいまい検索の設定方法を示します。
手順 1: あいまい検索を有効化
using GroupDocs.Search.Options;
SearchOptions options = new SearchOptions();
options.FuzzySearch.Enabled = true;
options.FuzzySearch.FuzzyAlgorithm = new TableDiscreteFunction(3); // Allow up to 3 differences
// Execute the search with fuzzy logic.
SearchResult result = index.Search("favourable OR \"ipsum dolor\"", options);
Console.WriteLine("Documents: " + result.DocumentCount);
Console.WriteLine("Total occurrences: " + result.OccurrenceCount);
HTML 形式で検索結果をハイライト
概要
検索結果をハイライトすることで、ファイル内の関連セクションが視覚的にマークされ、迅速な分析が可能になります。
手順 1: 高圧縮の設定
using GroupDocs.Search.Highlighters;
using GroupDocs.Search.Options;
IndexSettings settings = new IndexSettings();
settings.TextStorageSettings = new TextStorageSettings(Compression.High);
// Create an instance of the Index.
Index index = new Index(indexFolder, settings);
index.Add(documentFolder);
手順 2: ハイライトと出力
SearchResult result = index.Search("solicitude");
if (result.DocumentCount > 0)
{
FoundDocument document = result.GetFoundDocument(0);
string path = "YOUR_OUTPUT_DIRECTORY/Highlighted.html";
OutputAdapter outputAdapter = new FileOutputAdapter(OutputFormat.Html, path);
Highlighter highlighter = new DocumentHighlighter(outputAdapter);
// Generate highlighted HTML content.
index.Highlight(document, highlighter);
}
トラブルシューティングのヒント
- パスが正しく指定されていることを確認し、ファイルが見つからないエラーを防ぎます。
- ディレクトリの読み書き操作に必要な権限がすべて設定されていることを確認します。
実用的な応用例
- Legal Document Review – 大規模な法務コーパス内でケース関連用語を迅速に検索します。
- Academic Research – 数千件の論文から特定の手法を検索します。
- Business Intelligence – 四半期レポートから主要指標を手作業なしで抽出します。
- Customer Support – サポートチケットをスキャンし、繰り返し発生する問題を特定し、分析前に個人データを赤字化します。
- Content Management Systems (CMS) – あいまい検索と機密スニペットの自動赤字化でコンテンツ取得を強化します。
パフォーマンス上の考慮点
- インデックス保存設定を最適化し、速度とディスク使用量のバランスを取ります。
- データを最新に保つためにインデックスを定期的に更新し、不要な処理を削減します。
- 大量バッチを扱う際は、未使用オブジェクトを速やかに破棄してメモリリークを防止します。
GroupDocs Redaction を使用して PDF から機密情報を赤字化する方法
Redactor は、サポートされているドキュメント形式に赤字化パターンを適用するための主要クラスです。Redactor redactor = new Redactor("file.pdf") で対象 PDF をロードし、赤字化パターン(例: redactor.AddRedaction(new RedactionPhrase("confidential")))を定義し、redactor.Apply() を呼び出します。ライブラリはレイアウトを保持しながら元のファイルを赤字化されたコンテンツで上書きします。このワンステップのワークフローにより、保護されたフレーズの痕跡は残りません。
あいまいクエリ後に HTML で検索結果をハイライトする方法
SearchResultHighlighter は、検索マッチからハイライトされた HTML スニペットを生成するユーティリティを提供します。あいまいクエリを実行し、マッチするフラグメントを取得して SearchResultHighlighter.HighlightHtml(matches, "<mark>", "</mark>") に渡します。このメソッドは各出現箇所を指定されたタグでラップし、関連用語が視覚的に強調された HTML スニペットを生成します。ハイライトされた HTML はウェブページに直接埋め込むか、レポートとして保存でき、エンドユーザーが各マッチのコンテキストを簡単に確認できます。
よくある質問
Q: あいまい検索とは何ですか?
A: あいまい検索は、近似一致を見つけ、クエリ語の綴り間違いやわずかな変化を許容します。
Q: これらのライブラリを商用プロジェクトで使用できますか?
A: はい、有効な GroupDocs ライセンスは商用利用権を付与します。
Q: 大量のドキュメントセットを効率的に処理するには?
A: 増分インデックス作成を使用し、IndexingOptions でバッチサイズを調整し、定期的にインデックスを再構築してパフォーマンスを最適化します。
Q: GroupDocs.Search がサポートするファイル形式は何ですか?
A: PDF、DOCX、XLSX、PPTX、HTML、TXT、JPEG、PNG など、100 以上の形式がサポートされています。
Q: 検索と赤字化に多言語サポートはありますか?
A: はい、30 以上の言語用アナライザーが含まれており、グローバルコンテンツに対して正確な検索と赤字化が可能です。
リソース
最終更新: 2026-07-16
テスト環境: GroupDocs.Search 2.0.0 と GroupDocs.Redaction 2.0.0 for .NET
作者: GroupDocs