JavaでGroupDocs.Searchを使用したメタデータインデックスによるドキュメントのインデックスへの追加方法

現代のアプリケーションでは、add documents to index を迅速かつ確実に行うことが、高速な検索体験を提供するために不可欠です。法務リポジトリ、カスタマーサポートのナレッジベース、社内ドキュメントポータルのいずれを構築する場合でも、メタデータを活用することで、著者、タイトル、カスタムタグなどの search documents by metadata が可能になります。本ガイドでは、インデックス設定の構成、メタデータ中心のインデックス作成、ファイルの追加、強力な検索の実行という一連のプロセスを、GroupDocs.Search for Java を使用して詳しく解説します。

クイック回答

  • メタデータインデックスの主な目的は何ですか? 文書のプロパティに基づく高速検索を可能にし、全文検索ではなく属性検索を実現します。
  • インデックスにファイルを追加するメソッドはどれですか? index.add(YOUR_DOCUMENTS_FOLDER);
  • カスタムメタデータフィールドで検索できますか? はい、フィールドがインデックス化されれば直接クエリできます。
  • 開発にライセンスは必要ですか? 評価には一時的なトライアルライセンスで十分です。実運用には正式なライセンスが必要です。
  • 必要な Java バージョンは何ですか? JDK 8 以上が推奨されます。

GroupDocs.Search におけるメタデータインデックスとは?

メタデータインデックスは、文書属性(例:著者、作成日、カスタムタグ)を抽出し、検索可能な構造に保存します。add documents to index を実行すると、エンジンはこれらの属性を記録し、たとえば「John Doe が著者の PDF をすべて検索する」などの正確なクエリを実行できるようになります。

メタデータインデックスに GroupDocs.Search を使用する理由

  • Performance: メタデータ検索は軽量で、ミリ秒単位で結果を返します。
  • Flexibility: PDF、DOCX、PPT など、幅広いファイル形式をサポートします。
  • Scalability: 数百万件の文書を最小限のメモリフットプリントで処理できます。

前提条件

  • GroupDocs.Search for Java ≥ 25.4。
  • JDK 8 以上がインストールされ、設定されていること。
  • Java と Maven の基本的な知識。

GroupDocs.Search for Java のセットアップ

インストール手順

pom.xml に GroupDocs リポジトリと依存関係を追加します:

<repositories>
    <repository>
        <id>repository.groupdocs.com</id>
        <name>GroupDocs Repository</name>
        <url>https://releases.groupdocs.com/search/java/</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-search</artifactId>
        <version>25.4</version>
    </dependency>
</dependencies>

最新のバイナリは、GroupDocs.Search for Java releases から直接ダウンロードすることもできます。

ライセンス取得

テスト用の一時ライセンスを取得するには:

  1. GroupDocs のウェブサイトにアクセスし、Purchase セクションへ移動します。
  2. 評価ニーズに合った temporary license プランを選択します。

ステップバイステップ実装

機能 1: インデックス設定の構成

メタデータに焦点を当てたインデックスを構成します:

import com.groupdocs.search.IndexSettings;
import com.groupdocs.search.IndexType;

// Initialize index settings
IndexSettings settings = new IndexSettings();
settings.setIndexType(IndexType.MetadataIndex);  // Focus on metadata indexing
  • setIndexType(IndexType.MetadataIndex) は、エンジンに全文コンテンツよりもメタデータを優先させることを指示します。

機能 2: 指定フォルダーにインデックスを作成

すべてのメタデータが保存される物理的なインデックスディレクトリを作成します:

import com.groupdocs.search.Index;

String YOUR_INDEX_DIRECTORY = "YOUR_DOCUMENT_DIRECTORY\\\\output\\\\AdvancedUsage\\\\Indexing\\\\IndexingMetadataOfDocuments";

// Create index in specified directory using settings
Index index = new Index(YOUR_INDEX_DIRECTORY, settings);

YOUR_DOCUMENT_DIRECTORY を、プロジェクト構成に合わせたパスに置き換えます。

機能 3: ドキュメントをインデックスに追加する方法

インデックスが作成されたので、add documents to index して検索可能にできます:

String YOUR_DOCUMENTS_FOLDER = "YOUR_DOCUMENT_DIRECTORY";

// Add all documents in directory to the index
index.add(YOUR_DOCUMENTS_FOLDER);

Tips:

  • フォルダーパスが正しいこと、アプリケーションに読み取り権限があることを確認してください。
  • GroupDocs.Search は各ファイルからサポートされているメタデータを自動的に抽出します。

機能 4: メタデータでドキュメントを検索

メタデータフィールドを対象としたクエリを実行します。例として、言語が英語のドキュメントを検索する場合:

import com.groupdocs.search.results.SearchResult;

String query = "English";  // Define search query
SearchResult result = index.search(query);  // Perform the search

// Process results (example)
for (int i = 0; i < result.getDocumentCount(); i++) {
    System.out.println("Found document: " + result.getFoundDocument(i).getFilePath());
}
  • search(query) はインデックス化されたメタデータを検索し、一致するドキュメントを返します。

実用的な活用例

  1. Enterprise Document Management: 契約日や署名者名で契約書を取得します。
  2. Digital Library Catalogs: ユーザーがジャンル、出版年、著者で本を閲覧できるようにします。
  3. CRM Systems: 顧客IDや地域といったカスタムメタデータを使用して、クライアントファイルを迅速に検索します。

パフォーマンスに関する考慮点

  • Incremental Updates: 全インデックスを再構築する代わりに、新規または変更されたファイルには index.addOrUpdate() を使用します。
  • Memory Tuning: インデックス化されたメタデータの量に応じて JVM ヒープサイズ(-Xmx)を調整します。
  • Optimized Storage: 定期的に index.optimize() を呼び出してインデックスを圧縮し、クエリ速度を向上させます。

よくある問題と解決策

問題解決策
結果が返されません期待するメタデータフィールドが実際にソースファイルに存在することを確認してください。
権限エラーJava プロセスがドキュメントフォルダーとインデックスディレクトリの両方に対して読み取り権限を持っていることを確認してください。
メモリ不足エラーJVM ヒープサイズを増やすか、add 操作をバッチ処理してファイルを小さなグループで処理してください。

よくある質問

Q: メタデータインデックスとは何ですか?
A: メタデータインデックスは、文書属性(著者、タイトル、カスタムタグ)を検索可能な構造に保存し、全文をスキャンせずに高速な検索を可能にします。

Q: 一時ライセンスはどうやって取得しますか?
A: GroupDocs の購入ページにアクセスし、手順に従ってトライアルライセンスを取得してください。

Q: この設定で PDF をインデックスできますか?
A: はい、GroupDocs.Search は PDF、DOCX、PPT など多数のフォーマットをサポートしています。

Q: ドキュメントを追加する際の一般的な問題は何ですか?
A: 正しいファイルパスを確認し、アプリケーションがディレクトリに対して読み取り権限を持っていることを確認してください。

Q: 検索パフォーマンスを最適化するには?
A: インデックスを定期的に更新し、インクリメンタル追加を使用し、JVM のメモリ設定を調整してください。

リソース


最終更新日: 2026-01-06
テスト環境: GroupDocs.Search Java 25.4
作者: GroupDocs