다중 별칭 추가 및 GroupDocs.Search Java에서 인덱스에 문서 추가: 종합 가이드
오늘날 데이터 중심의 세계에서 add multiple aliases를 수행하면서 add documents to index를 할 수 있으면 검색 솔루션에 명확한 성능 향상을 제공합니다. 수천 개의 계약서, 제품 카탈로그 또는 연구 논문을 인덱싱하든, GroupDocs.Search for Java는 create searchable index 구조를 만들고 별칭 사전을 사용해 쿼리를 미세 조정할 수 있게 해줍니다—구현은 간단하고 빠릅니다.
빠른 답변
- What is the first step to start using GroupDocs.Search? Maven 의존성을 추가하고
Index객체를 초기화합니다. - How do I add documents to index?
index.add("<folder_path>")를 폴더와 함께 호출합니다. - Can I create aliases for complex queries? Yes—use the alias dictionary to map short tokens to full query expressions, and you can also add multiple aliases in bulk.
- Is it possible to export and import alias dictionaries? Absolutely—use
exportDictionaryandimportDictionarymethods. - What version of GroupDocs.Search is required? Version 25.4 or later (the tutorial uses 25.4).
“add documents to index”란 무엇인가요?
인덱스에 문서를 추가한다는 것은 원시 파일(PDF, DOCX, TXT 등)을 GroupDocs.Search에 전달하여 라이브러리가 내용을 분석하고 searchable index를 구축한다는 의미입니다. 인덱싱이 완료되면 모든 문서에 대해 빠른 전체 텍스트 쿼리를 실행할 수 있습니다.
별칭을 관리하는 이유는?
별칭을 사용하면 길고 반복적인 쿼리 조각을 짧고 기억하기 쉬운 토큰(e.g., @t → (gravida OR promotion))으로 대체할 수 있습니다. 이는 검색 문자열을 짧게 만들 뿐 아니라 가독성, 유지 보수성을 향상시키고 optimizes search performance를 개선합니다—특히 쿼리가 복잡해질 때 유용합니다.
다중 별칭을 추가하는 방법은?
GroupDocs.Search는 한 번에 여러 별칭‑대체 쌍을 삽입할 수 있는 편리한 addRange 메서드를 제공합니다. 이 일괄 작업은 개별 별칭을 추가하는 것보다 오버헤드를 줄여줍니다.
사전 요구 사항
- 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 릴리스.
라이선스 획득 단계
- Free Trial – 약정 없이 모든 기능을 체험합니다.
- Temporary License – 평가를 위한 단기 키를 요청합니다.
- Full Purchase – 프로덕션 사용을 위한 영구 라이선스를 획득합니다.
기본 초기화 및 설정
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.");
}
}
구현 가이드
아래는 각 기능에 대한 전체 walkthrough입니다. 먼저 설명을 읽고, 일치하는 코드 블록을 복사하세요.
인덱스 생성 또는 열기
add documents to index 방법 – 먼저 활성 Index 인스턴스가 필요합니다.
Step 1: Index 클래스 가져오기
import com.groupdocs.search.Index;
Step 2: 인덱스 파일이 저장될 위치 정의
String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Indexes/Index";
Step 3: 새 인덱스를 만들거나 기존 인덱스를 엽니다
Index index = new Index(indexFolder);
인덱스에 문서 추가
인덱스가 존재하므로, 이제 add documents to index를 수행합니다.
Step 1: 소스 폴더 지정
String documentsFolder = "YOUR_DOCUMENT_DIRECTORY/Documents";
Step 2: 해당 폴더의 모든 지원 파일 추가
index.add(documentsFolder);
Pro tip: 새 파일이 도착할 때마다 이 단계를 실행하세요. GroupDocs.Search는 새로운 콘텐츠만 인덱싱하고 기존 항목은 그대로 둡니다. 이것이 incremental indexing java의 핵심입니다.
별칭 사전 관리
별칭을 사용하면 짧은 토큰을 복잡한 쿼리 문자열에 매핑할 수 있습니다. 여기서는 기존 항목 삭제, 단일 별칭 추가, 그리고 일괄 add multiple aliases에 대해 다룹니다.
기존 별칭 삭제
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을 사용해 다수 논문에 대한 날짜 범위 필터로 확장합니다. |
성능 고려 사항
- Incremental Indexing: 새 파일이나 변경된 파일만 추가하고 전체 재인덱싱을 피합니다.
- JVM Tuning: 대규모 코퍼스를 위해 충분한 힙 메모리(
-Xmx4g)를 할당합니다. - Batch Alias Updates:
addRange를 사용해 한 번에 많은 별칭을 삽입하여 오버헤드를 줄입니다. - Optimize Search Performance: 별칭 사전을 간결하게 유지하고 토큰을 현명하게 재사용해 쿼리 파싱 시간을 최소화합니다.
일반적인 문제와 해결책
| 문제 | 해결책 |
|---|---|
| 새 파일이 검색되지 않음 | index.add(newFolder)를 다시 실행하세요; GroupDocs.Search는 보지 않은 파일만 인덱싱합니다. |
| 별칭이 빈 결과를 반환 | 별칭 키(@)가 올바르게 접두사로 붙었는지, 사전에 토큰이 포함되어 있는지 확인하세요. |
| 대량 인덱싱 중 메모리 사용량이 높음 | JVM 힙(-Xmx)을 늘리고 작은 배치로 인덱싱하는 것을 고려하세요. |
자주 묻는 질문
Q: GroupDocs.Search for Java를 사용하는 주요 이점은 무엇인가요?
A: 강력한 즉시 사용 가능한 인덱싱 및 전체 텍스트 검색 기능을 제공하여 add documents to index를 빠르게 수행하고 높은 성능으로 쿼리할 수 있습니다.
Q: GroupDocs.Search를 데이터베이스와 함께 사용할 수 있나요?
A: 예—SQL, NoSQL, CSV 등 모든 소스에서 데이터를 추출해 동일한 add 메서드로 인덱스에 전달할 수 있습니다.
Q: 별칭은 검색 효율성을 어떻게 향상시키나요?
A: 별칭을 사용하면 복잡한 쿼리 로직을 한 번 저장하고 짧은 토큰으로 재사용해 쿼리 파싱 시간을 줄이고, search with aliases 시 인간 오류를 최소화합니다.
Q: 전체 사전을 재구축하지 않고 기존 별칭을 업데이트할 수 있나요?
A: 물론입니다—같은 키로 add를 호출하면 라이브러리가 이전 값을 덮어씁니다.
Q: 검색 결과가 예상과 다를 경우 어떻게 해야 하나요?
A: 별칭 정의가 올바른지 확인하고, 새로 추가된 문서를 다시 인덱싱하며, 토큰화 문제를 확인하기 위해 분석기 설정을 점검하세요.
마지막 업데이트: 2026-03-06
테스트 환경: GroupDocs.Search 25.4 for Java
작성자: GroupDocs