GroupDocs.Search for Javaでテキスト検索を実行する
パフォーマンス最適化
GroupDocs.Search for Javaで検索ネットワークを実装および最適化する方法
はじめに
今日のデータ駆動型の世界では、膨大な文書コレクションに対して perform text search を迅速に行う能力が競争上の優位性となります。内部ナレッジベース、法務ケースリポジトリ、または e コマース製品カタログを構築する場合でも、適切にチューニングされた検索ネットワークはユーザー満足度を大幅に向上させます。このガイドでは、set up search network、create searchable index、optimize search performance、そして必要に応じて delete documents index を行う方法を、GroupDocs.Search for Java を使用して学びます。
学べること
- GroupDocs.Search を使用した検索ネットワークの構成
- ネットワーク内のノードのデプロイ
- ドキュメントを効率的にインデックス化 (
index documents java) - ネットワーク全体でテキスト検索を実行 (
perform text search) - インデックスから特定のドキュメントを削除 (
delete documents index)
これらの機能を活用して最適化された検索体験を作り出す方法を見ていきましょう。
クイック回答
- GroupDocs.Search for Javaの主な目的は何ですか? 多くの文書フォーマットに対して全文検索を提供します。
- 分散環境でテキスト検索を実行するにはどうすればよいですか? 検索ネットワークをデプロイし、マスターノードでドキュメントをインデックス化した後、任意のノードでクエリを実行します。
- インデックスを再構築せずにドキュメントを削除できますか? はい、Delete API を使用して選択したファイルを削除できます。
- 必要な Java バージョンは何ですか? JDK 8 以上。
- 本番環境でライセンスは必要ですか? 有効な GroupDocs.Search ライセンスが必要です。無料トライアルも利用可能です。
“perform text search” とは?
テキスト検索を実行することは、全文インデックスに対してクエリを投げ、指定されたキーワードやフレーズを含むドキュメントを取得することを意味します。GroupDocs.Search は逆インデックスを構築し、数千ファイルに対しても極めて高速に検索を行えるようにします。
なぜ検索ネットワークを構築するのか?
検索ネットワークはインデックス作成とクエリ処理の負荷を複数ノードに分散させ、検索パフォーマンスを最適化し、水平スケーリングと高可用性を実現します。このアーキテクチャは、レイテンシとスループットが重要なエンタープライズレベルの文書リポジトリに最適です。
前提条件
- 必須ライブラリ: GroupDocs.Search for Java バージョン 25.4(最新)。
- 環境: Java JDK 8 以上、Maven。
- 知識: 基本的な Java プログラミングとネットワーク概念の理解。
GroupDocs.Search for Java の設定
まず、以下の手順で GroupDocs.Search を Java プロジェクトに統合します。
Maven 設定
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>
直接ダウンロード
あるいは、GroupDocs から最新バージョンを直接ダウンロード できます。
ライセンス取得
GroupDocs は無料トライアルを提供しており、機能を評価した後に購入できます。トライアル期間中は、購入ページの一時ライセンス取得手順 に従って一時ライセンスを取得してください。これによりテストフェーズでフル機能が利用可能になります。
基本的な初期化と設定
Java アプリケーションで GroupDocs.Search を初期化するには次のコードを使用します:
import com.groupdocs.search.*;
class SearchNetworkSetup {
public static void main(String[] args) {
Index index = new Index("path/to/index/directory");
// Additional configuration can be set here.
}
}
実装ガイド
検索ネットワークの構成
概要: 基本パスとポートを設定し、ノード間の通信を可能にします。
手順 1: 基本設定の定義
import com.groupdocs.search.options.*;
import com.groupdocs.search.scaling.configuring.*;
String basePath = "YOUR_DOCUMENT_DIRECTORY/output/AdvancedUsage/Scaling/DeletingDocuments/";
int basePort = 49104; // Change if necessary.
Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
- パラメータ:
basePath: ネットワーク操作用のディレクトリパス。basePort: 検索ネットワークで使用するポート番号。
手順 2: トラブルシューティング
指定したポートがファイアウォールでブロックされていないか、他のアプリケーションで使用されていないか確認してください。競合を避けるために必要に応じてポートを変更します。
検索ネットワークノードのデプロイ
概要: 設定を使用して、分散インデックス作成と検索のためにネットワーク全体にノードをデプロイします。
import com.groupdocs.search.scaling.*;
String basePath = "YOUR_DOCUMENT_DIRECTORY/output/AdvancedUsage/Scaling/DeletingDocuments/";
int basePort = 49104;
Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);
// Nodes are now deployed and ready for further operations.
- 主要な構成オプション:
- Base Path & Port: これらの値は最初の設定と一致させ、整合性を保ちます。
ドキュメントのインデックス作成 (create searchable index)
概要: マスターノードを使用して、ドキュメントを検索インデックスに効率的に追加します。
import com.groupdocs.search.scaling.*;
String documentsPath = "YOUR_DOCUMENT_DIRECTORY/path/to/documents";
SearchNetworkNode masterNode = nodes[0];
IndexingDocuments.addDirectories(masterNode, documentsPath);
- 目的:
masterNode: ドキュメントインデックスを管理する主要ノード。documentsPath: ドキュメントが格納されたディレクトリへのパス。
トラブルシューティングのヒント
ドキュメントパスが正しくアクセス可能か確認してください。ディレクトリの読み取り権限が付与されていることを確認します。
ネットワーク内テキスト検索 (perform text search)
概要: インデックス化されたネットワーク全体で包括的なテキスト検索を実行します。
import com.groupdocs.search.scaling.*;
String query = "nulla";
SearchNetworkNode masterNode = nodes[0];
TextSearchInNetwork.searchAll(masterNode, query, false);
- パラメータ:
query: 検索したいテキスト。masterNode: 検索を実行するノード。
インデックスからドキュメントを削除 (delete documents index)
概要: ファイルパスを指定して、インデックスから特定のドキュメントを削除します。
import com.groupdocs.search.scaling.*;
SearchNetworkNode node = nodes[0];
String[] filePaths = {
"YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.pdf",
"YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.docx"
};
deleteDocuments(node, filePaths);
void deleteDocuments(SearchNetworkNode node, String... filePaths) {
Indexer indexer = node.getIndexer();
DeleteOptions options = new DeleteOptions();
indexer.delete(filePaths, options);
}
- メソッドの目的:
node: 削除操作を行う対象ノード。filePaths: インデックスから除外するドキュメントのパス。
トラブルシューティング
ファイルパスが正確で、対象ファイルがディレクトリに存在することを確認してください。問題が続く場合は、ネットワークの権限と接続状態をチェックします。
実用例
- エンタープライズ文書管理: 社内ナレッジの検索を効率化。
- 法務ケース分析: 複数リポジトリにまたがる関連ケースファイルを迅速に特定。
- E‑コマースプラットフォーム: 商品説明やレビューをインデックス化し、検索速度を向上。
- 学術研究: 膨大な論文・学位論文デジタルライブラリを効率的に検索。
- カスタマーサポートシステム: 過去のチケットを即座に検索し、応答時間を短縮。
パフォーマンス考慮事項
- インデックス作成速度の最適化: オフピーク時に新規ドキュメントを増分追加し、レイテンシを低減。
- リソース使用ガイドライン: ノード数を増やす際は CPU とメモリの使用状況を監視。
- Java メモリ管理: ワークロードに応じて JVM ヒープ設定を調整(例: 中規模インデックスは
-Xmx2g)。
結論
このガイドに従うことで、set up search network、create searchable index、perform text search、そして delete documents index を GroupDocs.Search for Java で実装できました。これらの機能により、分散環境でも高速で信頼性の高い文書検索が可能になります。
次のステップ
- ワークロードに最適なバランスを見つけるため、ノード構成を試行錯誤してください。
- カスタムアナライザーや関連性チューニングなど、上級インデックスオプションを深掘りしましょう。
- 他の GroupDocs 製品と統合し、エンドツーエンドの文書処理を実現してください。
よくある質問
Q: GroupDocs.Search for Java の主なユースケースは何ですか?
A: 多数の文書フォーマットに対して全文検索を提供し、大規模リポジトリで perform text search を可能にします。
Q: 大規模ネットワークで検索速度を向上させるには?
A: ノードを追加し、JVM ヒープを調整し、インデックス作成を低トラフィック時間にスケジュールすることで optimize search performance を実現します。
Q: コレクション全体を再インデックスせずに単一ドキュメントを削除できますか?
A: はい、コード例に示した delete documents index API を使用して特定のファイルを削除できます。
Q: 開発用にライセンスは必要ですか?
A: テストには無料トライアルライセンスで十分ですが、本番環境では商用ライセンスが必要です。
Q: PDF、Word、メールなどを同時にインデックス化できますか?
A: もちろんです。GroupDocs.Search は多数のフォーマットを標準でサポートしています。
最終更新日: 2026-01-16
テスト環境: GroupDocs.Search for Java 25.4
作者: GroupDocs