Search Network のための GroupDocs Maven 依存関係の追加方法
この包括的なガイドでは、groupdocs Maven 依存関係の追加方法を発見し、GroupDocs.Search を使用した堅牢な Java 検索ネットワークを構成し、シャードを同期させる方法を学びます。法的ブリーフ、財務諸表、学術論文のインデックス作成であっても、以下の手順に従うことで、検索可能なインデックスを作成し、ノード間でクエリ負荷を分散し、最小限の労力でデータの一貫性を維持できます。
クイック回答
- What is the GroupDocs Maven dependency? Java プロジェクト向けに GroupDocs.Search ライブラリをバンドルした Maven アーティファクトです。
- Why use a search network? インデックス作成とクエリ負荷を複数のノードに分散し、速度と信頼性を向上させます。
- How do I add directories to index? マスターノードで
IndexingDocuments.addDirectoriesを使用します。 - How to sync shards? 各ノードの
IndexerでSynchronizeOptionsを呼び出します。 - Do I need a license? はい、製品環境で使用するにはトライアルまたは商用ライセンスが必要です。
GroupDocs Maven 依存関係とは?
GroupDocs Maven dependency は、Java プロジェクト向けに GroupDocs.Search ライブラリをバンドルした Maven アーティファクトです。
検索可能なインデックスの作成、ネットワークノードの管理、迅速なクエリの実行に必要なすべてのクラスを提供し、Maven はトランジティブ依存関係を自動的に解決するため、pom.xml に数行記述するだけで使用可能な検索エンジンが手に入ります。
GroupDocs Maven 依存関係の追加方法
pom.xml にリポジトリと依存関係のエントリを追加し、mvn clean install を実行します。Maven は groupdocs-search JAR と必要なライブラリをダウンロードし、API をプロジェクトで利用可能にします。ビルドが成功したら、すぐに com.groupdocs.search クラスを使用できます。
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>
Pro tip: 公式リリースページでバージョン番号を最新に保ちましょう。
公式サイトから JAR を直接ダウンロードすることもできます: GroupDocs.Search for Java releases.
なぜ検索ネットワークを使用するのか?
検索ネットワークは、インデックスを別々のノードに配置されたシャードに分割することで水平スケーリングを実現します。GroupDocs.Search は 50 以上の入力フォーマット に対応し、数百ページにわたる文書 をメモリに全体を読み込まずに処理でき、データ量が増加してもサブ秒レベルのクエリ応答を提供します。
前提条件
- JDK (11 以上) がインストールされていること。
- IntelliJ IDEA や Eclipse などの IDE。
- 基本的な Java の知識、Maven の経験、ネットワークノードの概念の理解。
- 有効な GroupDocs.Search ライセンス(無料トライアルまたは商用)。
基本的な初期化とセットアップ
インデックスディレクトリを作成します:
import com.groupdocs.search.SearchIndex;
import com.groupdocs.search.options.IndexingOptions;
// Create an index in the specified directory
SearchIndex index = new SearchIndex("YOUR_INDEX_DIRECTORY");
このシンプルな手順で、以降のネットワーク構成のための環境が整います。
実装ガイド
機能 1: 検索ネットワークの構成
概要
検索ネットワークの構成では、ノードが通信に使用するファイルパスとポートを設定します。
パスとポートの設定
Configuration は、検索クラスターのネットワークパス、ポート、その他の設定を保持するクラスです。
import com.groupdocs.search.options.*;
import com.groupdocs.search.scaling.configuring.ConfiguringSearchNetwork;
// Set custom paths for input/output directories
String basePath = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Scaling/SynchronizingShards/";
int basePort = 49144; // Adjust if there's a port conflict
Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
configuration オブジェクトは、検索ネットワークに必要なすべての設定を保持しています。
機能 2: 検索ネットワークノードのデプロイ
概要
ノードをデプロイしてネットワーク全体にワークロードを分散します。マスターノードが操作とイベントを管理します。
デプロイコード
SearchNetworkNode は、検索ネットワーク内でマスターまたはワーカーとして機能できるノードを表します。
import com.groupdocs.search.scaling.*;
import com.groupdocs.search.options.Configuration;
SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);
// Retrieve the master node for further operations
SearchNetworkNode masterNode = nodes[0];
機能 3: 検索ネットワークノードイベントの購読
概要
イベントをリッスンすることで、ネットワーク内の変更や更新を動的に処理できます。
購読実装
SearchNetworkNodeEvents は、ノードのライフサイクルやインデックス作成アクションのためのイベントフックを提供します。
import com.groupdocs.search.scaling.SearchNetworkNode;
import com.groupdocs.search.scaling.SearchNetworkNodeEvents;
SearchNetworkNodeEvents.subscribe(masterNode);
機能 4: インデックスへのディレクトリ追加
概要
ディレクトリを追加することは、ドキュメントを検索可能にする核心的なステップです。
ドキュメント追加
IndexingDocuments.addDirectories は、処理対象としてフォルダパスをインデックスに追加します。
import com.groupdocs.search.indexing.IndexingDocuments;
import com.groupdocs.search.scaling.SearchNetworkNode;
IndexingDocuments.addDirectories(masterNode, "YOUR_DOCUMENT_DIRECTORY/DocumentsPath");
機能 5: 検索ネットワークノードでのシャード同期
概要
同期は、すべてのシャード間でデータの一貫性を確保します。
同期コード
SynchronizeOptions は、ノード間でシャードがどのように同期されるかを構成します。
import com.groupdocs.search.indexing.Indexer;
import com.groupdocs.search.scaling.SearchNetworkNode;
import com.groupdocs.search.options.SynchronizeOptions;
SearchNetworkNode node = null; // Assume 'node' is initialized as a SearchNetworkNode
def synchronizeShards(SearchNetworkNode node) {
Indexer indexer = node.getIndexer();
SynchronizeOptions options = new SynchronizeOptions();
indexer.synchronize(options);
}
機能 6: 検索ネットワークノードのクローズ
概要
ノードを適切にクローズすることで、リソースが解放されメモリリークを防止します。
ノードクローズ
close() はリソースを解放し、検索ネットワークノードをシャットダウンします。
import com.groupdocs.search.scaling.SearchNetworkNode;
for (SearchNetworkNode node : nodes) {
node.close();
}
実用的な応用例
- Legal Document Management – ケースファイルや判例を迅速に取得します。
- Financial Record Keeping – 数秒でステートメントや監査トレイルにアクセスできます。
- Academic Research – 数千件の論文を検索し、関連する引用を見つけます。
パフォーマンス上の考慮点
- Optimize Queries – 応答時間を短縮するために簡潔なクエリを記述します。
- Memory Management – JVM ヒープ使用量を監視し、大規模インデックスの場合は GC チューニングを検討します。
- Scaling Strategy – データ量とクエリ負荷に比例してノードを追加します。
よくある問題と解決策
| 問題 | 原因 | 解決策 |
|---|---|---|
| ノードが接続に失敗する | ポート競合 | basePort を未使用の値に変更する |
| インデックスが更新されない | イベント購読が欠如している | SearchNetworkNodeEvents.subscribe(masterNode) が呼び出されていることを確認する |
| レイテンシが高い | シャードが不足している | ノード数を増やし、ドキュメント分散をバランスさせる |
よくある質問
Q: GroupDocs.Search を使用する主な利点は何ですか?
A: 高速でスケーラブルな検索機能を、最小限の設定で大規模なドキュメントセットに提供します。
Q: 検索ネットワークでノード設定をカスタマイズできますか?
A: はい、Configuration オブジェクトを使用してカスタムパス、ポート、その他のオプションを設定できます。
Q: ネットワーク稼働中にディレクトリをインデックスに追加するには?
A: 新しいフォルダをインデックス化する必要があるときは、IndexingDocuments.addDirectories(masterNode, "path") を呼び出します。
Q: 新しいノードがネットワークに参加したときにシャードを同期するには?
A: 上記の synchronizeShards メソッドを新しく追加されたノードで使用します。
Q: 開発用にライセンスは必要ですか?
A: テストには無料トライアルライセンスで十分ですが、製品環境では商用ライセンスが必要です。
結論
このガイドに従うことで、groupdocs Maven 依存関係の追加方法、マルチノード検索ネットワークの構成、ディレクトリのインデックス作成、シャードの同期方法が分かります。これらの手順は、組織のニーズに合わせて拡張できる高性能なドキュメント検索ソリューションの基盤を築きます。
最終更新日: 2026-05-17
テスト環境: GroupDocs.Search 25.4
作者: GroupDocs