GroupDocs.Search 가이드와 함께하는 Java 속성 검색
Java를 사용하여 문서 속성을 동적으로 수정하고 인덱싱하여 문서 관리 시스템을 강화하고 싶으신가요? 바로 여기입니다! 이 튜토리얼에서는 강력한 GroupDocs.Search for Java 라이브러리를 활용하여 search by attribute java를 수행하고, 인덱싱된 문서 속성을 변경하며, 인덱싱 과정 중에 속성을 추가하는 방법을 깊이 있게 다룹니다. 검색 솔루션을 구축하거나 문서 워크플로를 최적화하려는 경우, 이러한 기술을 마스터하는 것이 핵심입니다.
빠른 답변
- “search by attribute java”란 무엇인가요? 각 문서에 첨부된 사용자 정의 메타데이터를 사용해 검색 결과를 필터링하는 기능입니다.
- 인덱싱 후에 속성을 수정할 수 있나요? 예 —
AttributeChangeBatch를 사용해 문서 속성을 일괄 업데이트할 수 있습니다. - 인덱싱 중에 속성을 추가하려면 어떻게 하나요?
FileIndexing이벤트에 구독하고 프로그래밍 방식으로 속성을 설정합니다. - 라이선스가 필요한가요? 평가용 무료 체험판을 사용할 수 있으며, 프로덕션 환경에서는 영구 라이선스가 필요합니다.
- 필요한 Java 버전은? Java 8 이상을 권장합니다.
“search by attribute java”란?
search by attribute java는 문서의 내용이 아니라 메타데이터(속성)를 기반으로 문서를 조회할 수 있게 해줍니다. public, main, key와 같은 키‑값 쌍을 각 파일에 첨부하면 가장 관련성 높은 하위 집합으로 결과를 빠르게 좁힐 수 있습니다.
속성을 수정하거나 추가하는 이유
- 동적 분류 – 비즈니스 규칙에 맞게 메타데이터를 동기화합니다.
- 빠른 필터링 – 속성 필터가 전체 텍스트 검색 전에 평가되어 성능이 향상됩니다.
- 컴플라이언스 추적 – 보존 정책이나 감사 요구사항에 맞게 문서를 태그합니다.
사전 요구 사항
- Java 8+ (JDK 8 이상)
- GroupDocs.Search for Java 라이브러리 (아래 Maven 설정 참고)
- Java 및 인덱싱 개념에 대한 기본 이해
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에서 최신 버전을 다운로드하세요.
Maven과 같은 빌드 도구를 사용하지 않으려면 GroupDocs 웹사이트에서 JAR 파일을 다운로드하면 됩니다.
라이선스 획득
- 무료 체험판으로 기능을 살펴볼 수 있습니다.
- 장기 사용을 위해서는 라이선스 페이지에서 임시 또는 정식 라이선스를 구매하세요.
기본 초기화
import com.groupdocs.search.Index;
// Initialize an index in a specified directory
Index index = new Index("YOUR_OUTPUT_DIRECTORY/ChangeAttributes");
구현 가이드
Search by Attribute Java – 문서 속성 변경
개요
이미 인덱싱된 문서에 대해 속성을 추가, 제거 또는 교체할 수 있으며, 이를 통해 batch update document attributes를 수행해 전체 컬렉션을 재인덱싱하지 않아도 됩니다.
단계별 안내
Step 1: 인덱스에 문서 추가
index.add("YOUR_DOCUMENT_DIRECTORY");
Step 2: 인덱싱된 문서 정보 조회
import com.groupdocs.search.results.DocumentInfo;
DocumentInfo[] documents = index.getIndexedDocuments();
Step 3: 문서 속성 일괄 업데이트
import com.groupdocs.search.common.AttributeChangeBatch;
import com.groupdocs.search.SearchOptions;
AttributeChangeBatch batch = new AttributeChangeBatch();
batch.addToAll("public"); // Add 'public' to all documents
batch.remove(documents[0].getFilePath(), "public"); // Remove 'public' from a specific document
batch.add(documents[0].getFilePath(), "main", "key"); // Add 'main' and 'key' attributes
// Apply changes
index.changeAttributes(batch);
Step 4: 속성 필터를 사용한 검색
import com.groupdocs.search.results.SearchResult;
SearchOptions options = new SearchOptions();
options.setSearchDocumentFilter(SearchDocumentFilter.createAttribute("main"));
String query = "length";
SearchResult result = index.search(query, options); // Perform the search
AttributeChangeBatch를 이용한 문서 속성 일괄 업데이트
AttributeChangeBatch 클래스는 batch update document attributes를 위한 핵심 도구입니다. 변경 사항을 하나의 배치로 묶음으로써 I/O 오버헤드를 줄이고 인덱스 일관성을 유지할 수 있습니다.
Search by Attribute Java – 인덱싱 중 속성 추가
개요
각 파일이 인덱스에 추가될 때 FileIndexing 이벤트에 연결하여 사용자 정의 속성을 할당합니다.
단계별 안내
Step 1: FileIndexing 이벤트 구독
import com.groupdocs.search.events.EventHandler;
import com.groupdocs.search.events.FileIndexingEventArgs;
index.getEvents().FileIndexing.add(new EventHandler<FileIndexingEventArgs>() {
@Override
public void invoke(Object sender, FileIndexingEventArgs args) {
if (args.getDocumentFullPath().endsWith("Lorem ipsum.pdf")) {
args.setAttributes(new String[] { "main", "key" });
}
}
});
Step 2: 문서 인덱싱
index.add("YOUR_DOCUMENT_DIRECTORY");
실용적인 적용 사례
- 문서 관리 시스템 – 수집 단계에서 메타데이터를 자동으로 추가해 분류를 자동화합니다.
- 대규모 콘텐츠 아카이브 – 속성 필터를 활용해 검색 범위를 좁혀 응답 시간을 크게 단축합니다.
- 컴플라이언스 및 보고 – 보존 일정이나 감사 추적을 위해 문서를 동적으로 태그합니다.
성능 고려 사항
- 메모리 관리 – JVM 힙을 모니터링하고 필요에 따라
-Xmx옵션을 조정합니다. - 배치 처리 –
AttributeChangeBatch를 사용해 속성 변경을 그룹화하여 인덱스 쓰기를 최소화합니다. - 라이브러리 업데이트 – 최신 성능 패치를 적용하려면 GroupDocs.Search를 최신 버전으로 유지하세요.
자주 묻는 질문
Q: Java에서 GroupDocs.Search를 사용하기 위한 사전 요구 사항은 무엇인가요?
A: Java 8 이상, GroupDocs.Search 라이브러리, 그리고 인덱싱 개념에 대한 기본 지식이 필요합니다.
Q: Maven을 통해 GroupDocs.Search를 설치하려면 어떻게 해야 하나요?
A: Maven 설정 섹션에 표시된 저장소와 의존성을 pom.xml에 추가하면 됩니다.
Q: 문서가 인덱싱된 후에도 속성을 수정할 수 있나요?
A: 예, AttributeChangeBatch를 사용해 재인덱싱 없이 문서 속성을 일괄 업데이트할 수 있습니다.
Q: 인덱싱 속도가 느리면 어떻게 해야 하나요?
A: JVM 메모리 설정을 최적화하고, 배치 업데이트를 활용하며, 최신 라이브러리 버전을 사용하세요.
Q: GroupDocs.Search for Java에 대한 추가 자료는 어디서 찾을 수 있나요?
A: 공식 문서를 방문하거나 커뮤니티 포럼을 확인하세요.
리소스
- 문서: GroupDocs.Search for Java Docs
- API 레퍼런스: API Reference
- 다운로드: Latest Releases
- GitHub: GitHub GroupDocs.Search
- 무료 지원 포럼: GroupDocs Forums
- 임시 라이선스: License Page
마지막 업데이트: 2025-12-24
테스트 환경: GroupDocs.Search 25.4 for Java
작성자: GroupDocs