Java 검색 네트워크에서 base port groupdocs 구성

In modern, data‑heavy applications, configure base port groupdocs is the first step to building a fast, reliable search infrastructure. Whether you’re indexing thousands of PDFs or expanding across several servers, assigning unique ports and directories prevents node‑to‑node conflicts and keeps the cluster healthy. This tutorial walks you through prerequisites, installation, and a complete multi‑node configuration using GroupDocs.Search for Java, so you can launch a truly scalable search network today.

빠른 답변

  • 주요 목적은 무엇인가요? 각 검색 노드에 고유한 포트와 기본 디렉터리를 할당하여 충돌을 방지합니다.
  • 라이선스가 필요합니까? 예 – 프로덕션 배포에는 체험판 또는 정식 라이선스가 필요합니다.
  • 지원되는 Java 버전은? Java 8 이상 (Java 11+ 권장).
  • 클라우드 서버에서 실행할 수 있나요? 물론입니다 – 클라우드 보안 그룹에서 선택한 포트를 열기만 하면 됩니다.
  • 몇 개의 노드를 추가할 수 있나요? 제한이 없으며 하드웨어와 네트워크 용량에 따라 달라집니다.

“configure base port groupdocs”란 무엇인가요?

Configure base port groupdocs는 각 검색 노드가 사용할 시작 TCP 포트를 할당하고 이후 노드에 대해 이를 증가시키는 과정입니다. 이 간단한 단계는 “포트가 이미 사용 중” 오류를 제거하고, 깨끗하고 수평 확장 가능한 검색 클러스터의 기반을 마련하여 각 노드가 고유한 엔드포인트를 통해 통신하도록 보장합니다.

확장 가능한 네트워크에 GroupDocs.Search를 사용하는 이유

GroupDocs.Search는 high‑performance indexing(표준 8코어 서버에서 분당 최대 50 GB)과 PDF, DOCX, PPTX, HTML 등을 포함한 50개 이상의 파일 형식을 지원합니다. 모듈식 아키텍처를 통해 인덱서, 검색기, 샤드, 추출기를 노드 간에 혼합하여 사용할 수 있어 하드웨어를 추가할 때 선형 확장성을 제공합니다. 또한 라이브러리는 디스크 사용량을 최대 70 %까지 줄이는 내장 압축 옵션을 제공하며, 일반 워크로드에서 쿼리 지연 시간을 200 ms 이하로 유지합니다.

사전 요구 사항

  • Java Development Kit (JDK) 8 이상 (더 나은 가비지 컬렉션을 위해 Java 11+ 권장).
  • IDE (IntelliJ IDEA 또는 Eclipse 등).
  • GroupDocs.Search for Java 라이브러리(버전 25.4 이상)를 Maven 또는 수동 다운로드로 설치합니다.
  • 기본 네트워킹 지식(TCP 포트, localhost와 원격 호스트).
  • 유효한 GroupDocs.Search 라이선스(체험판 또는 정식).

GroupDocs.Search for Java 설정

설치 안내

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:

또는 최신 버전을 GroupDocs.Search for Java releases에서 다운로드하십시오.

라이선스 획득

  • Free Trial – 즉시 테스트를 시작하십시오.
  • Temporary License – Temporary License에서 연장 체험판을 받으세요.
  • Full Purchase – 프로덕션 배포에 필요합니다.

기본 초기화 및 설정

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
    }
}

구현 가이드

base port groupdocs를 구성하는 방법은?

base 포트를 구성하려면 네트워크 구성 파일을 편집하거나 프로그래밍 방식으로 basePort 속성을 49100과 같이 높은 사용되지 않은 값으로 설정합니다. 이후 각 노드에 대해 포트 번호를 1씩(또는 고정 오프셋만큼) 증가시켜 각 노드가 고유한 TCP 엔드포인트에 바인딩하도록 하면 포트 충돌 오류를 방지하고 방화벽 규칙을 단순화할 수 있습니다.

기본 경로 설정

코드를 작성하기 전에 일관된 폴더 구조를 결정하십시오. 예를 들어 인덱서(Indexer0), 검색기(Searcher0), 추출기(Extractor0)용 별도 디렉터리를 생성합니다. 이 구조는 각 노드가 파일을 빠르게 찾을 수 있게 합니다.

  • Why: 예측 가능한 디렉터리 계층은 노드가 다른 머신에서 시작될 때 “파일을 찾을 수 없음” 오류를 방지합니다.

기본 포트 구성

일반 서비스(HTTP 80, SSH 22 등)와 충돌을 피하기 위해 높은 시작 포트를 선택하십시오. 새 노드를 추가할 때마다 포트 번호를 증가시킵니다.

// If an error occurs about using a busy network port, change the value of the base port
int basePort = 49100;
  • Why: 높은 포트(예: 49100)에서 시작하면 기존 서비스와 충돌할 가능성이 줄어들고 방화벽 규칙 생성이 간단해집니다.

호스트 주소 정의

개발 중에는 localhost가 잘 작동합니다. 프로덕션에서는 서버의 IP 주소나 DNS 이름으로 교체하여 원격 노드가 서로 연결될 수 있도록 합니다.

// Define the host address
dataAddress = "127.0.0.1";
  • Why: 실제 호스트 주소를 사용하면 머신 간 통신이 가능해져 클라우드 또는 온프레미스 클러스터에 필수적입니다.

네트워크 구성 생성

NetworkConfig 클래스는 base port, host, 선택적 SSL 설정 등 모든 네트워킹 옵션을 하나의 객체로 묶어 Search 엔진이 사용하도록 합니다.

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: 이러한 옵션을 중앙 집중화하면 여러 노드에서 재사용 가능하고 유지 관리가 쉬워집니다.

노드 추가

SearchNode는 인덱싱이나 검색과 같은 특정 기능을 수행하는 GroupDocs.Search 클러스터의 개별 노드를 나타냅니다. 각 역할(인덱서, 검색기, 추출기)마다 SearchNode를 인스턴스화하고 SearchEngine에 등록하십시오. 노드 간에 책임을 분산하면 병렬 처리와 내결함성이 향상됩니다.

// 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: 전용 노드에 작업을 분산하면 경쟁이 감소하고 각 머신이 단일 작업에 특화될 수 있어 전체 처리량이 증가합니다.

구성 마무리

모든 노드를 추가한 후 engine.start()를 호출하여 네트워크를 시작합니다. 엔진은 각 노드를 할당된 포트에 자동으로 바인딩하고 연결을 확인합니다.

.completeConfiguration(); // Finalize the configuration setup
return configuration; // Return the configured network settings

일반적인 문제 및 해결책

  • Port Conflicts – 새 노드마다 항상 basePort를 증가시키세요. netstat 또는 OS 네트워크 모니터로 열린 포트를 확인합니다.
  • Missing Directories – 모든 폴더(Indexer0, Searcher0 등)가 존재하고 Java 프로세스에 읽기/쓰기 권한이 있는지 확인합니다.
  • Network Reachability – 다중 머신 설정으로 전환할 때 127.0.0.1을 실제 호스트 IP로 교체하고 방화벽에서 선택한 포트를 엽니다.

실용적인 적용 사례

시나리오base port groupdocs 구성의 이점
엔터프라이즈 문서 관리부서 간 다운타임 없이 원활한 확장
대규모 CMS 플랫폼인덱스가 분산되어 콘텐츠 검색 속도 향상
법률 사건 관리PDF 병렬 추출로 검색 지연 시간 감소

성능 고려 사항

  • Monitor CPU/Memory – Java의 JMX 또는 프로파일링 도구로 스레드 사용량을 모니터링합니다.
  • Adjust Compression – Compression.High는 디스크 공간을 절약하지만 CPU 오버헤드가 증가할 수 있습니다; High와 Normal을 모두 테스트하여 최적점을 찾으세요.
  • Regular Updates – 새로운 GroupDocs.Search 릴리스에는 성능 패치가 포함되는 경우가 많으니 라이브러리를 최신 상태로 유지하십시오.

결론

이제 configure base port groupdocs 방법과 GroupDocs.Search for Java를 사용한 다중 노드 검색 네트워크 설정 방법을 배웠습니다. 추가 노드를 실험하고 인덱스 설정을 미세 조정하며 네트워크를 기존 애플리케이션에 통합하여 진정으로 확장 가능한 검색 솔루션을 구현하십시오.

자주 묻는 질문

Q: 인덱싱에서 불용어를 비활성화하는 목적은 무엇인가요?
A: 불용어를 비활성화하면 특수 도메인에서 중요한 일반 용어를 유지함으로써 검색 정확성을 향상시킬 수 있습니다.

Q: 여러 노드를 추가할 때 포트 충돌을 어떻게 처리하나요?
A: 높은 basePort(예: 49100)부터 시작하고 각 후속 노드마다 증가시켜 각 노드가 고유한 TCP 엔드포인트를 갖도록 합니다.

Q: 이 설정을 클라우드 기반 애플리케이션에 사용할 수 있나요?
A: 예—클라우드 보안 그룹에서 선택한 포트를 열고 127.0.0.1을 적절한 공용 또는 사설 IP로 교체하면 됩니다.

Q: NormalIndex와 다른 인덱스 유형의 차이점은 무엇인가요?
A: NormalIndex는 속도와 메모리 사용 사이의 균형 잡힌 절충을 제공하는 반면, 특수 인덱스(예: FastIndex)는 특정 성능 시나리오를 목표로 합니다.

Q: 추가할 수 있는 노드 수에 제한이 있나요?
A: 기술적으로는 제한이 없으며, 하드웨어 리소스와 네트워크 대역폭에 따라 달라집니다.


Last Updated: 2026-05-17
Tested With: GroupDocs.Search Java 25.4
Author: GroupDocs

// Define the base paths using placeholders
dataPath = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Scaling/ConfiguringSearchNetwork/";

관련 튜토리얼