인덱스에 문서 추가 및 별칭 관리 (GroupDocs.Search Java): 종합 가이드
오늘날 데이터 중심의 세상에서 add documents to index 를 빠르게 수행하고 효율적으로 검색할 수 있는 능력은 비즈니스에 실질적인 경쟁력을 제공합니다. 수천 개의 계약서, 제품 카탈로그, 연구 논문을 다루든, GroupDocs.Search for Java 를 사용하면 검색 가능한 인덱스를 손쉽게 생성하고 별칭 사전을 통해 쿼리를 미세 조정할 수 있습니다.
아래에서는 라이브러리를 설정하고, add documents to index 를 수행하며, 별칭을 관리하고, 강력한 검색을 실행하는 모든 과정을 친절한 단계별 스타일로 안내합니다.
빠른 답변
- GroupDocs.Search 를 시작하기 위한 첫 단계는? Maven 의존성을 추가하고
Index객체를 초기화합니다. - 문서를 인덱스에 추가하려면? 파일이 들어 있는 폴더 경로와 함께
index.add("<folder_path>")를 호출합니다. - 복잡한 쿼리를 위한 별칭을 만들 수 있나요? 예—짧은 토큰을 전체 쿼리 표현식에 매핑하는 별칭 사전을 사용합니다.
- 별칭 사전을 내보내고 가져올 수 있나요? 물론—
exportDictionary와importDictionary메서드를 사용합니다. - 필요한 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.
라이선스 획득 단계
- 무료 체험 – 약정 없이 모든 기능을 탐색합니다.
- 임시 라이선스 – 평가용 단기 키를 요청합니다.
- 정식 구매 – 프로덕션 사용을 위한 영구 라이선스를 획득합니다.
기본 초기화 및 설정
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