Java Search Network에서 base port groupdocs 구성

현대리케이션에서 configuring base port groupdocs는 빠르고 안정적인 검색 인프라를 구축하기 위한 기본 단계입니다. 수천 개의 PDF를 처리하든 여러 서버에 걸쳐 확장하든, 올바른 포트와 경로를 설정하면 각 노드가 충돌 없이 서로 통신할 수 있습니다. 이 튜토리얼은 전제 조건부터 전체 멀티‑노드 구성까지 모든 세부 사항을 안내하므로 GroupDocs.Search for Java를 사용해 확장 가능한 검색 네트워크를 자신 있게 시작할 수 있습니다.

빠른 디렉터리를 설정하여 충돌을 방지합니다.

  • 라이선스가 필요합니까? 예, 프로덕션 사용을 위해서는 체험판 또는 정식 라이선스가 필요합니다.
  • 지원되는 Java 버전은? Java 8 이상.
  • 클라우드 서버에서 실행할 수 있나요? 물론입니다—보안 그룹에서 포트가 열려 있는지 확인하십시오.
  • 몇 개의 노드를 추가할 수 있나요? 하드 제한은 없으며, 하드웨어와 네트워크가 허용하는 만큼 추가할 수 있습니다.

“configure base port groupdocs”란?

configure base port groupdocs를 수행하면 각 노드가 사용할 시작 TCP 포트를 지정하고(추가 노드에서는 포트를 증가시킴) 이 간단한 단계로 “포트가 이미 사용 중” 오류를 방지하고 수평 확장이 가능한 깔끔한 검색 클러스터의 기반을 마련합니다.

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

  • 고성능 – 최적화된 인덱싱 및 검색 알고리즘.
  • 유연한 아키텍처 – 인덱서, 검색기, 샤드, 추출기를 노드 간에 자유롭게 조합 가능.
  • 쉬운 통합 – 온프레미스든 클라우드든 모든 Java 애플리케이션과 작동.
  • 견고한 라이선스 – 체험 옵션을 통해 구매 전 테스트 가능.

전제 조건

  • Java Development Kit (JDK) 8 이상.
  • IDE(IntelliJ IDEA 또는 Eclipse 등).
  • GroupDocs.Search for Java 라이브러리(버전 25.4 이상)를 Maven 또는 수동 다운로드 방식으로 설치.
  • 기본 네트워킹 지식(TCP 포트, localhost와 원격 호스트 구분).

GroupDocs.Search for Java 설정

설치 안내

Maven 설정:

<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.Search for Java releases에서 다운로드하십시오.

라이선스 획득

  • 무료 체험 – 즉시 테스트 시작.
  • 임시 라이선스Temporary License에서 연장 체험 가능.
  • 정식 구매 – 프로덕션 배포에 필요.

기본 초기화 및 설정

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 구성 방법

기본 경로 설정

// Define the base paths using placeholders
dataPath = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Scaling/ConfiguringSearchNetwork/";
  • 이유: 일관된 디렉터리 구조를 사용하면 모든 노드가 인덱스, 샤드, 추출기 파일을 모호함 없이 찾을 수 있습니다.

기본 포트 구성

// If an error occurs about using a busy network port, change the value of the base port
int basePort = 49100;
  • 이유: 높은 포트 번호(예: 49100)에서 시작하면 일반 서비스와 충돌할 가능성이 줄어듭니다. 추가 노드마다 포트를 증가시키세요.

호스트 주소 정의

// Define the host address
dataAddress = "127.0.0.1";
  • 이유: 개발 단계에서는 localhost가 이상적이며, 프로덕션에서는 서버의 IP 또는 DNS 이름으로 교체합니다.

네트워크 구성 생성

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
  • 이유: 이 옵션들은 속도와 저장 효율성의 균형을 맞추어 가볍지만 강력한 검색 인덱스를 제공합니다.

노드 추가

// 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
  • 이유: 노드별로 역할을 분산(인덱싱 vs. 검색, 샤딩 vs. 추출)하면 병렬 처리와 내결함성이 향상됩니다.

구성 마무리

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

일반적인 문제 및 해결책

  • 포트 충돌 – 새로운 노드마다 basePortnetstat 또는 OS 포트 모니터로 확인Searcher0` 등)가 존재하고 Java 프로세스에 읽기/쓰기 권한이 있는지 확인합니다.
  • 네트워크 접근성 – 멀티 머신 환경으로 전환할 때 127.0.0.1을 실제 호스트 IP로 교체하고 방화벽에서 선택한 포트를 열어야 합니다.

실용 사례

시나리오base port GroupDocs 구성의 장점
엔터프라이즈 문서 관리부서 간 다운타임 없이모 CMS 플랫폼
법률 사건 관리PDF 병렬 추출로 검색 지연 시간 감소

성능 고려 사항

  • CPU/메모리 모니터링 – Java JMX 또는 프로파일링 도구로 스레드 사용량을 확인합니다.
  • 압축 조정Compression.High는 디스크 공간을 절약하지만 CPU 부하가 증가할 수 있으니 HighNormal을 모두 테스트하세요.
  • 정기 업데이트 – 신규 GroupDocs.Search 릴리스에는 성능 패치가 포함되는 경우가 많습니다 groupdocs** 방법과 GroupDocs.Search for Java를 활용한 멀티‑노드 검색 네트워크 설정을 배웠습니다. 추가 노드를 실험하고 인세요.

자주 묻는:00)에서 시작하고 각 노드마다 증가시켜 모든 노드가 고유한 TCP 엔드포인트를 갖도록 합니다.

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

Q: NormalIndex와 다른 인덱스 유형의 차이는 무엇인가요?
A: NormalIndex는 속도와 메모리 사용량 사이의 균형을 제공하고, FastIndex와 같은 특수 인덱스는 특정 성능 시나리오에 최적화되어 있습니다.

Q: 추가할 수 있는 노드 수에 제한이 있나요?
A: 기술적으로는 제한이 없으며, 하드웨어 자원과 네트워크 대역폭이 허용하는 범위 내에서 자유롭게 추가할 수 있습니다.


마지막 업데이트: 2026-01-24
테스트 환경: GroupDocs.Search Java 25.4
작성자: GroupDocs