인덱스에 문서 추가 및 별칭 관리 (GroupDocs.Search Java): 종합 가이드

오늘날 데이터 중심의 세상에서 add documents to index 를 빠르게 수행하고 효율적으로 검색할 수 있는 능력은 비즈니스에 실질적인 경쟁력을 제공합니다. 수천 개의 계약서, 제품 카탈로그, 연구 논문을 다루든, GroupDocs.Search for Java 를 사용하면 검색 가능한 인덱스를 손쉽게 생성하고 별칭 사전을 통해 쿼리를 미세 조정할 수 있습니다.

아래에서는 라이브러리를 설정하고, add documents to index 를 수행하며, 별칭을 관리하고, 강력한 검색을 실행하는 모든 과정을 친절한 단계별 스타일로 안내합니다.

빠른 답변

  • GroupDocs.Search 를 시작하기 위한 첫 단계는? Maven 의존성을 추가하고 Index 객체를 초기화합니다.
  • 문서를 인덱스에 추가하려면? 파일이 들어 있는 폴더 경로와 함께 index.add("<folder_path>") 를 호출합니다.
  • 복잡한 쿼리를 위한 별칭을 만들 수 있나요? 예—짧은 토큰을 전체 쿼리 표현식에 매핑하는 별칭 사전을 사용합니다.
  • 별칭 사전을 내보내고 가져올 수 있나요? 물론—exportDictionaryimportDictionary 메서드를 사용합니다.
  • 필요한 GroupDocs.Search 버전은? 25.4 이상 (본 튜토리얼은 25.4 사용).

“add documents to index” 란?

문서를 인덱스에 추가한다는 것은 원시 파일(PDF, DOCX, TXT 등)을 GroupDocs.Search 로 전달하여 라이브러리가 내용을 분석하고 검색 가능한 데이터 구조를 구축하도록 하는 것을 의미합니다. 인덱싱이 완료되면 모든 문서에 대해 빠른 전체 텍스트 쿼리를 실행할 수 있습니다.

별칭을 관리하는 이유

별칭을 사용하면 길고 반복적인 쿼리 조각을 짧고 기억하기 쉬운 토큰(예: @t(gravida OR promotion)) 으로 교체할 수 있습니다. 이는 검색 문자열을 간결하게 만들 뿐만 아니라, 쿼리가 복잡해질수록 가독성과 유지 보수성을 크게 향상시킵니다.

사전 요구 사항

시작하기 전에 다음을 준비하세요:

  • GroupDocs.Search for Java ≥ 25.4.
  • JDK (최근 버전, 예: 11 이상).
  • IntelliJ IDEA 또는 Eclipse 와 같은 IDE.
  • 기본적인 Java 및 Maven 지식.

GroupDocs.Search for 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>

직접 다운로드

또는 공식 사이트에서 최신 JAR 파일을 다운로드합니다:
GroupDocs.Search for Java releases.

라이선스 획득 단계

  1. 무료 체험 – 약정 없이 모든 기능을 탐색합니다.
  2. 임시 라이선스 – 평가용 단기 키를 요청합니다.
  3. 정식 구매 – 프로덕션 사용을 위한 영구 라이선스를 획득합니다.

기본 초기화 및 설정

import com.groupdocs.search.Index;

public class GroupDocsSetup {
    public static void main(String[] args) {
        // Specify the directory to store indices
        String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Indexes/Index";
        
        // Create or open an index
        Index index = new Index(indexFolder);
        
        System.out.println("GroupDocs.Search setup complete.");
    }
}

구현 가이드

아래는 각 기능을 완전하게 설명한 워크스루입니다. 먼저 설명을 읽고, 해당 코드 블록을 복사해 사용하세요.

인덱스 생성 또는 열기

add documents to index 를 수행하려면 먼저 활성 Index 인스턴스가 필요합니다.

1단계: Index 클래스 가져오기

import com.groupdocs.search.Index;

2단계: 인덱스 파일이 저장될 위치 정의

String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Indexes/Index";

3단계: 새 인덱스를 만들거나 기존 인덱스를 엽니다

Index index = new Index(indexFolder);

인덱스에 문서 추가

인덱스가 준비되었으니 add documents to index 를 진행합니다.

1단계: 소스 폴더 지정

String documentsFolder = "YOUR_DOCUMENT_DIRECTORY/Documents";

2단계: 해당 폴더의 모든 지원 파일을 추가

index.add(documentsFolder);

Pro tip: 새 파일이 도착할 때마다 이 단계를 실행하세요. GroupDocs.Search 는 새로운 콘텐츠만 인덱싱하고 기존 항목은 그대로 둡니다.

별칭 사전 관리

별칭을 사용하면 짧은 토큰을 복잡한 쿼리 문자열에 매핑할 수 있습니다. 기존 항목을 삭제하고, 단일 별칭을 추가하며, 다수의 별칭을 한 번에 추가 하는 방법을 다룹니다.

기존 별칭 삭제

if (index.getDictionaries().getAliasDictionary().getCount() > 0) {
    index.getDictionaries().getAliasDictionary().clear();
}

단일 별칭 추가

index.getDictionaries().getAliasDictionary().add("t", "(gravida OR promotion)");
index.getDictionaries().getAliasDictionary().add("e", "(viverra OR farther)");

다수의 별칭 추가

AliasReplacementPair[] pairs = new AliasReplacementPair[] {
    new AliasReplacementPair("d", "daterange(2017-01-01 ~~ 2019-12-31)"),
    new AliasReplacementPair("n", "(400 ~~ 4000)")
};
index.getDictionaries().getAliasDictionary().addRange(pairs);

별칭 교체 조회

정의한 별칭에 대한 전체 텍스트를 다음과 같이 가져올 수 있습니다:

if (index.getDictionaries().getAliasDictionary().contains("e")) {
    String replacement = index.getDictionaries().getAliasDictionary().getText("e");
}

별칭 사전 내보내기 및 가져오기

내보내기는 백업이나 환경 간 공유에 유용합니다.

별칭 내보내기

String fileName = "YOUR_OUTPUT_DIRECTORY/Aliases.dat";
index.getDictionaries().getAliasDictionary().exportDictionary(fileName);

별칭 가져오기

index.getDictionaries().getAliasDictionary().importDictionary(fileName);

별칭 쿼리를 사용한 검색

별칭이 설정되면 검색 문자열이 훨씬 깔끔해집니다:

String query = "@t OR @e";
SearchResult result = index.search(query);

@ 기호는 GroupDocs.Search 가 토큰을 전체 표현식으로 교체한 뒤 검색을 실행하도록 지시합니다.

실용 사례

시나리오별칭이 도움이 되는 방법
법률 문서 관리케이스 번호(@case123)를 복잡한 Boolean 절에 매핑해 검색 속도를 높입니다.
이커머스 제품 검색일반적인 속성 조합(@sale)을 (discounted OR clearance) 로 교체합니다.
연구 데이터베이스@year2020 을 사용해 다수 논문에 걸친 날짜 범위 필터로 확장합니다.

성능 고려 사항

  • 증분 인덱싱: 새 파일 또는 변경된 파일만 추가하고 전체 재인덱싱을 피합니다.
  • JVM 튜닝: 대용량 코퍼스를 위해 충분한 힙 메모리(-Xmx4g)를 할당합니다.
  • 배치 별칭 업데이트: addRange 를 사용해 한 번에 다수 별칭을 삽입하면 오버헤드가 감소합니다.

결론

이제 add documents to index 를 수행하고, 별칭 사전을 관리하며, GroupDocs.Search for Java 로 효율적인 검색을 실행하는 방법을 알게 되었습니다. 이러한 기술을 활용하면 검색 중심 애플리케이션이 더 빠르고 유지 보수가 쉬우며 최종 사용자가 쉽게 쿼리할 수 있습니다.

다음 단계: 사용자 정의 분석기 실험, 퍼지 검색 옵션 탐색, 인덱스를 웹 서비스에 통합해 실시간 쿼리 구현하기.

자주 묻는 질문

Q: GroupDocs.Search for Java 를 사용하는 주요 장점은 무엇인가요?
A: 강력하고 즉시 사용할 수 있는 인덱싱 및 전체 텍스트 검색 기능을 제공하여 add documents to index 를 빠르게 수행하고 높은 성능으로 쿼리할 수 있습니다.

Q: GroupDocs.Search 를 데이터베이스와 함께 사용할 수 있나요?
A: 예—SQL, NoSQL, CSV 등 어떤 소스에서든 데이터를 추출해 동일한 add 메서드로 인덱스에 전달할 수 있습니다.

Q: 별칭이 검색 효율성을 어떻게 향상시키나요?
A: 별칭을 사용하면 복잡한 쿼리 로직을 한 번만 저장하고 짧은 토큰으로 재사용하므로 쿼리 파싱 시간이 줄어들고 인간 오류가 최소화됩니다.

Q: 전체 사전을 재구성하지 않고 기존 별칭을 업데이트할 수 있나요?
A: 물론—같은 키로 add 를 호출하면 라이브러리가 이전 값을 덮어씁니다.

Q: 검색 결과가 예상과 다르면 어떻게 해야 하나요?
A: 별칭 정의가 올바른지 확인하고, 새로 추가된 문서를 다시 인덱싱하며, 토큰화 문제를 확인하기 위해 분석기 설정을 점검합니다.


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