" to Japanese? But it’s bold English; maybe keep as is. Keep.

Tested With: GroupDocs.Search 25.4 for Java” -> keep.

Author: GroupDocs” -> keep.

Then final “—”. Keep.

Now ensure all markdown formatting preserved.

Let’s assemble final output.# Javaでチャンクベース検索を使用してインデックスにドキュメントを追加する

インデックスにドキュメントを迅速に add documents to index し、さらに高速なチャンクベースのクエリを実行する必要がある最新のアプリケーションでは、メモリを大量に消費せずにスケールするソリューションが求められます。このチュートリアルでは、GroupDocs.Search for Java の設定、複数のドキュメントフォルダーの追加、エンジンを increase search performance に構成し、java search index memory の使用量を抑える方法を説明します。法務契約書、サポートチケット、研究論文などをインデックス化する場合でも、以下の手順で本番環境に対応した実装が可能です。

クイック回答

  • What is the first step? Searchインデックスフォルダーを作成します。
  • How do I include many files? 各ドキュメントフォルダーに対して index.add() を使用します。
  • Which option enables chunk search? options.setChunkSearch(true)
  • Can I continue searching after the first chunk? はい、トークンを使用して index.searchNext() を呼び出します。
  • Do I need a license? 開発には無料トライアルまたは一時ライセンスで十分ですが、本番環境ではフルライセンスが必要です。

学習内容

  • 指定フォルダーに検索インデックスを作成する方法。
  • 複数の場所から add documents to index を行う手順。
  • チャンクベース検索を有効にする検索オプションの構成。
  • 初回およびその後のチャンクベース検索の実行。
  • チャンクベースドキュメント検索が有効な実世界のシナリオ。

前提条件

このガイドに従うには、以下が必要です:

  • Required Libraries: GroupDocs.Search for Java 25.4 以降。
  • Environment Setup: 互換性のある Java Development Kit (JDK) がインストールされていること。
  • Knowledge Prerequisites: 基本的な Java プログラミングと Maven の知識。

GroupDocs.Search for Java の設定

まず、Maven を使用して GroupDocs.Search をプロジェクトに統合します:

<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 からダウンロードしてください。

ライセンス取得

GroupDocs.Search を試すには:

  • Free Trial – コミットせずにコア機能をテストできます。
  • Temporary License – 開発用に拡張されたアクセス権。
  • Purchase – 本番利用向けのフルライセンス。

基本的な初期化と設定

検索可能なデータを保存したいフォルダーにインデックスを作成します:

import com.groupdocs.search.*;

public class CreateIndex {
    public static void main(String[] args) {
        String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\SearchByChunks";
        // Creating an index in the specified folder
        Index index = new Index(indexFolder);
    }
}

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

インデックスが作成されたので、次の論理的なステップは、ファイルが保存されている場所から add documents to index を行うことです。

1. インデックスの作成

Overview: 検索インデックス用のディレクトリを設定します。

String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\SearchByChunks";
Index index = new Index(indexFolder);

2. インデックスへのドキュメント追加

Overview: 複数のソースフォルダーからファイルを取得します。

String documentsFolder1 = "YOUR_DOCUMENT_DIRECTORY";
String documentsFolder2 = "YOUR_DOCUMENT_DIRECTORY";
String documentsFolder3 = "YOUR_DOCUMENT_DIRECTORY";
index.add(documentsFolder1);
index.add(documentsFolder2);
index.add(documentsFolder3);

3. チャンク検索のための検索オプション設定

options オブジェクトを調整してチャンクベース検索を有効にします。

SearchOptions options = new SearchOptions();
options.setChunkSearch(true);

4. 初回チャンクベース検索の実行

チャンクが有効化されたオプションを使用して最初のクエリを実行します。

String query = "invitation";
SearchResult result = index.search(query, options);

5. チャンクベース検索の継続

検索が完了するまで残りのチャンクを反復処理します。

while (result.getNextChunkSearchToken() != null) {
    result = index.searchNext(result.getNextChunkSearchToken());
}

なぜチャンクベース検索を使用するのか?

チャンクベース検索は、大規模なドキュメントコレクションを管理しやすい小片に分割し、メモリ負荷を軽減し、応答時間を高速化します。特に以下の場合に有益です:

  1. Legal teams が何千もの契約書から特定の条項を検索する必要がある場合。
  2. Customer support portals が関連するナレッジベース記事を即座に表示する必要がある場合。
  3. Researchers が全ファイルをメモリに読み込まずに広範なデータセットを検索する場合。

このアプローチが increase search performance を向上させる方法

全ファイルではなく小さなチャンクを検索することで、エンジンは以下が可能です:

  • 関連性の低いセクションを早期にスキップし、CPUサイクルを削減します。
  • アクティブなチャンクだけをメモリに保持することで、java search index memory の消費を直接削減します。
  • マルチコアマシンでチャンク処理を並列化し、結果を高速化します。

java search index memory の管理

チャンクベース検索はすでにメモリフットプリントを削減しますが、JVM をさらに調整できます:

  • インデックスサイズに応じて十分なヒープ(-Xmx2g 以上)を割り当てます。
  • 大量追加後に index.optimize() を使用してインデックス構造を圧縮します。
  • VisualVM などのツールで GC の一時停止を監視し、遅延スパイクを回避します。

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

  • Memory Management – 大規模インデックス用に十分なヒープ領域(-Xmx)を割り当てます。
  • Resource Monitoring – インデックス作成および検索操作中の CPU 使用率に注意します。
  • Index Maintenance – 定期的にインデックスを再構築またはクリーンアップし、古いデータを破棄します。

よくある落とし穴とトラブルシューティング

問題発生原因対策
OutOfMemoryError 発生時のインデックス作成ヒープサイズが小さすぎるJVM ヒープを増やす(-Xmx2g 以上)
結果が返されないチャンクトークンが処理されていないwhile ループが getNextChunkSearchToken()null になるまで実行されていることを確認する
検索パフォーマンスが遅いインデックスが最適化されていない大量追加後に index.optimize() を実行する

よくある質問

Q: チャンクベース検索とは何ですか?
A: チャンクベース検索はデータセットを小さなピースに分割し、全ドキュメントをメモリに読み込むことなく大規模データに対して効率的なクエリを可能にします。

Q: 新しいファイルでインデックスを更新するには?
A: 新しいドキュメントへのパスを指定して index.add() を呼び出すだけで、インデックスに自動的に取り込まれます。

Q: GroupDocs.Search はさまざまなファイル形式に対応していますか?
A: はい、PDF、DOCX、XLSX、PPTX など多くの一般的な形式をサポートしています。

Q: 典型的なパフォーマンスボトルネックは何ですか?
A: メモリ制約と最適化されていないインデックスが最も一般的です。十分なヒープを割り当て、定期的にインデックスを最適化してください。

Q: 詳細なドキュメントはどこで見つけられますか?
A: 公式の GroupDocs.Search Documentation で、詳細なガイドや API リファレンスをご覧ください。

Q: 暗号化された PDF でもチャンクベース検索は機能しますか?
A: はい、適切な API のオーバーロードでパスワードを提供すれば動作します。

Q: インデックス作成の進捗を監視するには?
A: Index.add() のオーバーロードで Progress オブジェクトを返すものを使用するか、ロギングコールバックにフックしてください。

リソース


Last Updated: 2026-02-21
Tested With: GroupDocs.Search 25.4 for Java
Author: GroupDocs