java full text search – ドキュメントの追加と GroupDocs.Search でのマージ
クイック回答
- “add documents to index” の意味は何ですか? GroupDocs.Search にフォルダーをスキャンさせ、検索可能なトークンを抽出し、各ファイルのメタデータを保存させます。
- 長時間のマージを停止できますか? はい。
Cancellationオブジェクトを使用して、設定可能なタイムアウト後にマージを中止できます。 - ライセンスは必要ですか? テストには無料トライアルまたは一時ライセンスで十分です。商用ライセンスはすべての機能を有効にします。
- 必要な Java バージョンはどれですか? JDK 8 以上。
- 大規模データセットに適していますか? もちろんです。GroupDocs.Search はインクリメンタルインデックスを使用して、数百ページに及ぶドキュメントを処理できます。
GroupDocs.Search における “add documents to index” とは何ですか?
インデックスにドキュメントを追加することは、ファイルのコレクションを GroupDocs.Search に供給し、ライブラリが内容を解析してトークンを抽出し、検索可能なデータ構造を構築することを意味します。 このプロセスはコンパクトな表現を作成し、インデックスされたすべてのファイルに対して超高速なフルテキスト検索を可能にします。
なぜ Java のドキュメント管理に GroupDocs.Search を使用するのですか?
GroupDocs.Search は 50 以上の入力フォーマット(PDF、DOCX、XLSX、PPTX、HTML、画像など)に対応したスケーラブルなインデックス作成を提供し、ファイル全体をメモリに読み込まずに最大 2 GB のドキュメントを処理できます。その API はインデックス作成、マージ、キャンセルに対する細かな制御を可能にし、エンタープライズ向けの java フルテキスト検索ソリューションとして最適です。
前提条件
- GroupDocs.Search for Java バージョン 25.4 以降。
- Maven(または手動で JAR をダウンロード)。
- 基本的な Java の知識と JDK 8 以上の環境。
GroupDocs.Search for Java のセットアップ
Maven インストール
If you manage dependencies with Maven, add the repository and dependency to your pom.xml:
<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>
直接ダウンロード
または、公式サイトから最新の JAR をダウンロードしてください: GroupDocs.Search for Java releases.
ライセンス取得
- Free Trial(無料トライアル): GroupDocs のウェブサイトでトライアルライセンスにサインアップしてください。
- Temporary License(一時ライセンス): 長期評価が必要な場合は一時キーを申請してください。
- Commercial License(商用ライセンス): 本番環境で使用するために購入してください。
ライセンスファイルを取得したら、プロジェクトに配置し、後述のようにライブラリを初期化します。
実装ガイド
ドキュメントをインデックスに追加する方法 – 最初のインデックス作成
Index クラスをインスタンス化して空のインデックスをロードまたは作成します。このクラスはディスク上の検索可能なコンテナを表します。 この手順により、ドキュメントから生成されるすべてのトークンを保存するストレージ場所が準備されます。
import com.groupdocs.search.Index;
// Create an instance of the index at the specified path
Index index1 = new Index("YOUR_DOCUMENT_DIRECTORY\\\\Index1");
- Why(理由): この手順は、インデックスされたトークンが保存されるストレージコンテナを設定します。
インデックスへのドキュメント追加
フォルダー パスを指定して index.add を呼び出します。このメソッドは各ファイルをスキャンし、テキストを抽出し、検索可能なメタデータをインデックスに保存します。 この操作は単一パスで実行され、設定された IndexSettings を尊重します。
index1.add("YOUR_DOCUMENT_DIRECTORY"); // Add documents from this directory
- Why(理由): ライブラリは各ファイルを読み取り、テキストを抽出し、
index1に保存します。
柔軟なワークフローのための第2インデックス作成
別の Index オブジェクトをインスタンス化して、別個のドキュメントセットを保持し、マージ前に分離された処理を可能にします。 このパターンはマルチテナントシナリオや段階的インデックス作成に有用です。
Index index2 = new Index("YOUR_DOCUMENT_DIRECTORY\\\\Index2");
index2.add("YOUR_DOCUMENT_DIRECTORY");
- Why(理由): 複数のインデックスにより、異なるドキュメントセットを管理し、後で統合できます。
マージオプションの設定とマージ操作のキャンセル方法
MergeOptions インスタンスを作成し、必要なパラメータを設定し、指定したタイムアウト後にマージを中止する Cancellation トークンを添付します。 これにより、大規模なマージ中のリソース使用を完全に制御できます。
import com.groupdocs.search.options.MergeOptions;
import com.groupdocs.search.options.Cancellation;
MergeOptions options = new MergeOptions();
options.setCancellation(new Cancellation()); // Initialize cancellation object
options.getCancellation().cancelAfter(5000); // Cancel merge operation after 5 seconds
- Why(理由):
Cancellationは マージ操作を自動的にキャンセル する制御を提供し、タスクの暴走を防止します。
インデックスのマージ
index1.merge(index2, mergeOptions) を呼び出します。プライマリインデックスは、トークンの整合性を保ちつつ、セカンダリインデックスからすべてのドキュメントを吸収します。 マージ後、統一された検索可能なリポジトリが得られます。
index1.merge(index2, options);
- Why(理由): この呼び出し後、
index1は両方のソースからのすべてのドキュメントを含み、統一された検索体験を提供します。
Java ドキュメント管理の実用的な活用例
- Legal firms(法律事務所): 複数拠点のケースファイルを単一の検索可能なインデックスに統合します。
- Financial institutions(金融機関): 四半期報告書を統合リポジトリにマージし、迅速な監査クエリを実現します。
- Enterprises(企業): 人事ポリシー、コンプライアンスマニュアル、内部ガイドを組み合わせ、全社的な検索を可能にします。
パフォーマンス上の考慮点
- Incremental indexing(インクリメンタルインデックス): 全インデックスを再構築する代わりに、定期的に新しいファイルを追加します。
- Memory monitoring(メモリ監視): 大量のバッチは RAM を消費する可能性があります。ファイルを小さなチャンクで処理するか、ストリーミングモードを有効にしてください。
- Garbage collection(ガベージコレクション): 未使用の
Indexオブジェクトを速やかに解放し、リソースを確保します。 - SSD storage(SSD ストレージ): インデックスファイルを SSD に保存すると、マージ速度が最大 2 倍向上します。
一般的な問題と解決策
| 問題 | 解決策 |
|---|---|
| フォルダー パスが正しくない | 絶対パスを確認し、アプリケーションに読み取り権限があることを確認してください。 |
| メモリ不足 | JVM ヒープ (-Xmx) を増やすか、バッチでファイルをインデックスしてください。 |
| キャンセルがトリガーされない | merge を呼び出す前に cancelAfter が設定されていることを確認してください。 |
| サポートされていないファイル形式 | 必要に応じて GroupDocs から追加のフォーマットプラグインをインストールしてください。 |
よくある質問
Q: なぜ単一のインデックスではなく複数のインデックスを作成するのですか?
A: 別々のインデックスにより、データ領域を分離し、異なるセキュリティポリシーを適用し、必要なときだけマージできるため、パフォーマンスと組織化が向上します。
Q: マージをキャンセルするのと同じ方法でインデックス作成操作をキャンセルできますか?
A: はい。add メソッドと共に Cancellation オブジェクトを使用して、長時間実行されるインデックス作成タスクを停止できます。
Q: 非常に大規模なドキュメントコレクションで最適なパフォーマンスを確保するにはどうすればよいですか?
A: インクリメンタルインデックスを実行し、JVM のメモリを監視し、インデックスを SSD に保存してください。BatchSize 設定を使用してメモリ内ドキュメント数を制限することも検討してください。
Q: “Access denied” エラーが発生した場合はどうすればよいですか?
A: Java プロセスを実行しているユーザーのフォルダー権限を確認し、ライセンスファイルが読み取り可能であることを確認してください。
Q: GroupDocs.Search は他の GroupDocs ライブラリと互換性がありますか?
A: もちろんです。GroupDocs.Viewer、GroupDocs.Conversion などと統合して、フルスタックのドキュメントソリューションを構築できます。
結論
このガイドに従うことで、ドキュメントをインデックスに追加する方法、マージ動作の設定方法、必要に応じて安全に マージ操作をキャンセル する方法が分かります—すべて堅牢な java フルテキスト検索 ワークフロー内で実現できます。より大規模なデータセットで実験したり、カスタムトークナイザを検討したり、GroupDocs.Search を他の GroupDocs 製品と組み合わせてエンタープライズ向けソリューションを構築してください。
ドキュメント: GroupDocs.Search Java Docs
API リファレンス: GroupDocs API Reference
ダウンロード: Latest Releases
GitHub リポジトリ: GroupDocs Search for Java
無料サポートフォーラム: GroupDocs Forum
一時ライセンス申請: GroupDocs Temporary License
最終更新日: 2026-05-12
テスト環境: GroupDocs.Search 25.4 for Java
作者: GroupDocs