GroupDocs.Search for Java를 사용한 인덱스 삭제 및 텍스트 검색 수행 방법

오늘날 데이터 중심의 세계에서 인덱스를 빠르게 삭제하면서도 번개처럼 빠른 전체 텍스트 검색 Java 기능을 제공하는 것은 경쟁 우위가 됩니다. 내부 지식 베이스, 법률 사건 저장소, 혹은 전자상거래 제품 카탈로그를 구축하든, 잘 조정된 검색 네트워크는 사용자 만족도를 크게 향상시킬 수 있습니다. 이 가이드에서는 필요할 때 검색 네트워크 설정, 검색 가능한 인덱스 생성, 검색 성능 최적화, 그리고 인덱스에서 문서 삭제 방법을 모두 GroupDocs.Search for Java를 사용해 배우게 됩니다.

빠른 답변

  • GroupDocs.Search for Java의 주요 목적은 무엇인가요? 50개 이상의 문서 형식에 대한 전체 텍스트 검색을 제공하여 빠른 키워드 검색을 가능하게 합니다.
  • 분산 환경에서 텍스트 검색을 어떻게 수행하나요? 검색 네트워크를 배포하고, 마스터 노드에서 문서를 인덱싱한 후,任意의 노드에서 쿼리합니다.
  • 인덱스를 재구축하지 않고도 인덱스에서 문서를 삭제할 수 있나요? 예, Delete API를 사용하여 선택된 파일을 제거하면 전체 재인덱싱 없이 인덱스 삭제가 가능합니다.
  • 필요한 Java 버전은 무엇인가요? JDK 8 이상.
  • 프로덕션에 라이선스가 필요합니까? 유효한 GroupDocs.Search 라이선스가 필요합니다; 무료 체험판을 이용할 수 있습니다.

“텍스트 검색 수행”이란 무엇인가요?

텍스트 검색 수행은 지정된 키워드나 구문을 포함하는 문서를 검색하기 위해 전체 텍스트 인덱스를 쿼리하는 것을 의미합니다. GroupDocs.Search는 역 인덱스를 구축하여 수천 개 파일에서도 이러한 조회를 매우 빠르게 수행합니다.

왜 검색 네트워크를 설정해야 하나요?

검색 네트워크는 인덱싱 및 쿼리 작업을 여러 노드에 분산시켜 검색 성능을 최적화하고, 수평 확장을 가능하게 하며, 높은 가용성을 유지합니다. 이 아키텍처는 지연 시간과 처리량이 중요한 엔터프라이즈 수준 문서 저장소에 이상적입니다.

GroupDocs.Search for Java로 검색 네트워크 구현 및 최적화 방법

구성을 로드하고 마스터 노드를 시작한 뒤, 동일한 기본 경로와 포트를 공유하는 워커 노드를 추가합니다. 이렇게 네트워크를 배포하면 어떤 노드든 인덱싱 또는 쿼리 요청을 처리할 수 있어, 문서 수가 수십만 개에 달해도 일관된 응답 시간을 제공합니다.

단계별 개요

  1. 공유 디렉터리와 TCP 포트를 포함하는 기본 구성을 정의합니다.
  2. 인덱스를 관리하고 워커 노드를 조정하기 위해 마스터 노드를 시작합니다.
  3. 마스터에 연결되는 워커 노드를 추가하여 병렬 인덱싱 및 검색을 가능하게 합니다.
  4. 리소스 사용량을 모니터링하고 JVM 힙 설정을 조정하여 지연 시간을 낮게 유지합니다.

GroupDocs.Search for Java에서 인덱스 삭제 방법

SearchNode는 인덱싱 및 쿼리 작업을 관리하는 GroupDocs.Search 네트워크의 노드를 나타냅니다. delete 메서드는 지정된 문서를 인덱스에서 제거합니다.

직접 삭제 단계

  • SearchNode 인스턴스에서 delete 메서드를 호출합니다.
  • 상대 파일 경로 배열을 제공합니다.
  • 변경 사항을 커밋합니다; 인덱스가 즉시 새로 고쳐지고 이후 검색에서는 제거된 파일이 반환되지 않습니다.

검색 네트워크란 무엇인가요?

검색 네트워크는 공통 인덱스 저장소를 공유하는 상호 연결된 노드 클러스터로, 분산 인덱싱 및 쿼리 실행을 가능하게 합니다. 대규모 문서 컬렉션에 대해 수평 확장 및 장애 허용성을 제공합니다.

검색 가능한 인덱스 생성 방법 (index documents java)

add 메서드는 문서를 검색 인덱스에 추가합니다. add 메서드를 사용하여 마스터 노드에 문서를 추가하면 네트워크가 변경 사항을 모든 워커 노드에 전파합니다. 이 방식은 추가 동기화 단계 없이 모든 노드가 최신 인덱스에 대해 쿼리를 처리할 수 있도록 보장합니다.

주요 작업

  • 마스터 노드를 소스 파일이 들어 있는 폴더로 지정합니다.
  • 인덱싱 루틴을 호출합니다; 네트워크가 각 파일을 처리하고 역 인덱스를 업데이트합니다.
  • 인덱스 파일이 지정된 저장 디렉터리에 나타나는지 확인합니다.

인덱스된 파일 제거 방법 (remove indexed files)

문서가 더 이상 필요하지 않을 때, 해당 경로와 함께 delete API를 호출합니다. 시스템은 역 인덱스에서 해당 파일의 항목을 제거하여 저장 공간을 확보하고 오래된 결과가 나타나는 것을 방지합니다.

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);
  • Parameters:
    • 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: 문서가 들어 있는 디렉터리 경로.

문제 해결 팁

문서 경로가 올바르고 접근 가능한지 확인하십시오. 해당 디렉터리에 대한 읽기 권한이 있는지 확인합니다.

개요: 인덱싱된 네트워크 전체에 걸쳐 포괄적인 텍스트 검색을 수행합니다.

import com.groupdocs.search.scaling.*;

String query = "nulla";
SearchNetworkNode masterNode = nodes[0];
TextSearchInNetwork.searchAll(masterNode, query, false);
  • Parameters:
    • 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: 인덱스에서 제거할 문서의 경로.

문제 해결

파일 경로가 정확하고 디렉터리에 파일이 존재하는지 확인하십시오. 문제가 지속되면 네트워크 권한 및 연결 상태를 점검합니다.

실용적인 적용 사례

  1. 엔터프라이즈 문서 관리: 내부 지식 검색을 효율화합니다.
  2. 법률 사건 분석: 여러 저장소에서 관련 사건 파일을 빠르게 찾습니다.
  3. 전자상거래 플랫폼: 설명 및 리뷰를 인덱싱하여 제품 검색 속도를 높입니다.
  4. 학술 연구: 논문 및 학위 논문의 대형 디지털 라이브러리를 효율적으로 검색합니다.
  5. 고객 지원 시스템: 상담원이 과거 티켓을 즉시 검색하도록 하여 응답 시간을 단축합니다.

성능 고려 사항

  • 인덱싱 속도 최적화: 비사용 시간에 새 문서를 점진적으로 추가하여 지연 시간을 낮게 유지합니다.
  • 리소스 사용 가이드라인: 노드 수를 확장할 때 CPU와 메모리를 모니터링합니다.
  • Java 메모리 관리: 작업량에 따라 JVM 힙 설정을 조정합니다(예: 중간 규모 인덱스에 -Xmx2g).

결론

이 가이드를 따라 하면 GroupDocs.Search for Java를 사용하여 검색 네트워크 설정, 검색 가능한 인덱스 생성, 텍스트 검색 수행, 그리고 인덱스에서 문서 삭제 방법을 배웠습니다. 이러한 기능은 분산 환경에서 빠르고 신뢰할 수 있는 문서 검색을 가능하게 합니다.

다음 단계

  • 다양한 노드 구성을 실험하여 워크로드에 최적의 균형을 찾으십시오.
  • 맞춤형 분석기 및 관련성 조정과 같은 고급 인덱싱 옵션을 더 깊이 탐구하십시오.
  • 엔드‑투‑엔드 문서 처리를 위해 다른 GroupDocs 제품과의 통합을 살펴보십시오.

자주 묻는 질문

Q: GroupDocs.Search for Java의 주요 사용 사례는 무엇인가요?
A: 다양한 문서 형식에 대한 전체 텍스트 검색을 제공하여 대규모 저장소에서 텍스트 검색 수행을 가능하게 합니다.

Q: 대규모 네트워크에서 검색 속도를 어떻게 향상시킬 수 있나요?
A: 추가 노드를 배포하고 JVM 힙을 조정하며, 트래픽이 적은 시간에 인덱싱을 예약하여 검색 성능 최적화를 달성합니다.

Q: 전체 컬렉션을 재인덱싱하지 않고 단일 문서를 삭제할 수 있나요?
A: 예, 코드 예제에 표시된 delete documents index API를 사용하여 특정 파일을 제거할 수 있습니다.

Q: 개발에 라이선스가 필요합니까?
A: 테스트에는 무료 체험 라이선스로 충분하며, 프로덕션 배포에는 상용 라이선스가 필요합니다.

Q: PDF, Word 파일, 이메일을 함께 인덱싱할 수 있나요?
A: 물론입니다—GroupDocs.Search는 다양한 형식을 기본적으로 지원합니다.

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

관련 튜토리얼