Java Search Networkでのbase port groupdocsの設定
Quick Answers
- 主な目的は何ですか? 各検索ノードに固有のポートとディレクトリを設定し、競合を防止します。
- ライセンスは必要ですか? はい、製品環境で使用するにはトライアルまたはフルライセンスが必要です。
- サポートされているJavaバージョンは? Java 8以上。
- クラウドサーバーで実行できますか? もちろんです—セキュリティグループでポートが開放されていることを確認してください。
- 何ノードまで追加できますか? 明確な上限はありません。ハードウェアとネットワークが許す限り追加できます。
“configure base port groupdocs” とは?
configure base port groupdocs を実行すると、各ノードが使用する開始 TCP ポートを割り当て(以降のノードはインクリメント)、
「ポートがすでに使用中です」エラーを防ぎ、クリーンで水平スケーラブルな検索クラスターの基盤を築きます。
なぜ GroupDocs.Search をスケーラブルなネットワークで使用するのか?
- High performance – 最適化されたインデックス作成と検索アルゴリズム。
- Flexible architecture – ノード間でインデクサ、サーチャ、シャード、エクストラクタを組み合わせられます。
- Easy integration – 任意のJavaアプリケーション(オンプレミスまたはクラウド)で動作します。
- Robust licensing – トライアルオプションで本番導入前にテストできます。
Prerequisites
- Java Development Kit (JDK) 8以上。
- IDE(例:IntelliJ IDEA または Eclipse)。
- GroupDocs.Search for Java ライブラリ(バージョン 25.4以降)をMavenまたは手動ダウンロードでインストール。
- 基本的なネットワーク知識(TCPポート、localhost とリモートホスト)。
Setting Up GroupDocs.Search for Java
Installation Instructions
Maven Setup:
<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>
Direct Download:
Alternatively, download the latest version from GroupDocs.Search for Java releases.
License Acquisition
- Free Trial – すぐにテストを開始できます。
- Temporary License – Temporary License で拡張トライアルを取得。 本番環境での導入には必要です。
Basic Initialization and Setup
import com.groupdocs.search.options.*;
import com.groupdocs.search.scaling.configuring.*;
public class SearchNetworkSetup {
public static void main(String[] args) {
// Initialize GroupDocs.Search components here
}
}
Implementation Guide
How to configure base port groupdocs
Setting Up Base Paths
// Define the base paths using placeholders
dataPath = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Scaling/ConfiguringSearchNetwork/";
- Why: 一貫したディレクトリ構造により、各ノードがインデックス、```java // If an error occurs about using a busy network port, change the value of the base port int basePort = 49100;
- **Why**: 高いポート番号(例:49100)から開始することで、一般的なサービスとの衝突リスクが減ります。ノードを追加するごとにポートをインクリメントします。
#### Define Host Address
```java
// Define the host address
dataAddress = "127.0.0.1";
- Why: 開発時は
localhostが理想的です。本番環境ではサーバーのIPまたはDNS名に置き換えてください。
Create Network Configuration
Configuration configuration = new Configurator()
.setIndexSettings() // Begin setting index configurations
.setUseStopWords(false) // Disable stop words in indexing
.setUseCharacterReplacements(false) // Disable character replacements
.setTextStorageSettings(true, Compression.High) // Enable high compression for text storage
.setIndexType(IndexType.NormalIndex) // Set index type to NormalIndex
.setSearchThreads(NumberOfThreads.Default) // Use default number of search threads
.completeIndexSettings() // Complete setting index configurations
- Why: これらのオプションは速度とストレージ効率のバランスを取り、軽量でありながら強力な検索インデックス```java // Add the first node (indexer and searcher) .addNode(0) // Start adding node 0 .setTcpEndpoint(dataAddress, basePort) // Set TCP endpoint for node 0 .addLogSink() // Add log sink to node 0 .addIndexer(“YOUR_DOCUMENT_DIRECTORY/Indexer0”) // Specify index path for node 0 .addSearcher(“YOUR_DOCUMENT_DIRECTORY/Searcher0”) // Specify searcher path for node 0 .completeNode() // Complete adding node 0
// Add the second node (shard and extractor) .addNode(1) // Start adding node 1 .setTcpEndpoint(dataAddress, basePort + 1) // Set TCP endpoint for node 1 .addShard(“YOUR_DOCUMENT_DIRECTORY/Shard1”) // Specify shard path for node 1 .addExtractor(“YOUR_DOCUMENT_DIRECTORY/Extractor1”) // Specify extractor path for node 1 .completeNode() // Complete adding node 1
- **Why**: ノード間で役割(インデックス作成 vs 検索、シャーディング vs エクストラクション)を分割することで、並列性と耐障害性が向上します。
#### Finalize Configuration
```java
.completeConfiguration(); // Finalize the configuration setup
return configuration; // Return the configured network settings
Common Issues & Solutions
- Port Conflicts – 新しいノードごとに必ず
basePortをインクリメントしてください。netstatや OS のポートモニタで確認できます。 - Missing Directories – 参照されるすべてのフォルダー(
Indexer0、Searcher0など)が存在し、放してください。
Practical Applications Groupでのダウンタイムなしのシームレスなスケーリング |
| 大規模CMSプラットフォーム | インデックスが分散されるため、コンテンツ取得が高速化 | | 法務ケース管理 | PDFの並列抽出により検索レイテンシが低減 |
Performance Considerations
- Monitor CPU/Memory – JavaのJMXやプロファイ使用状況を監視します。
- Adjust Compression –
Compression.High両方をテストしてください。 - **Update Regularly、イン存アプリケーションに統合して、真にスケーラブルな検索ソリューションを実現してください。
Frequently Asked Questions
Q: インデックス作成時にストップワードを無効化する目的は何ですか?
A: ストップワードを無効化すると、専門領域で重要になる可能性のある一般的な語句も保持でき、検索精度が向上します。
Q: 複数ノードを追加する際のポート競合はどう対処しますか?
A: 高い basePort(例:49100)から開始し、各ノードごとにインクリメントして、すべてのノードが固有の TCP エンドポイントを持つように
ポートがクラウドのセキュリティグループで開放されていることを確認し、127.0.0.1 を適切なパブリックまたはプライベート IP に置き換えてください。
Q: NormalIndex と他のインデックスタイプの違いは何ですか?
A: NormalIndex は速度とメモリ使用量のバランスハードウェアリソースとネットワーク帯LastAuthor:** GroupDocs