개요
Groovy는 |Fess|의 기본 스크립트 언어입니다. Java 가상 머신(JVM) 위에서 동작하며, Java와의 높은 호환성을 유지하면서 더 간결한 구문으로 스크립트를 작성할 수 있습니다.
기본 구문
변수 선언
문자열 조작
컬렉션 조작
조건 분기
반복 처리
데이터 스토어 스크립트
데이터 스토어 설정에서의 스크립트 예입니다.
기본 매핑
URL 생성
콘텐츠 가공
날짜 처리
사용 가능한 객체
스크립트 실행 컨텍스트에 따라 사용 가능한 객체가 다릅니다.
| 컨텍스트 | 객체 | 설명 |
|---|---|---|
| 모든 컨텍스트 | container | DI 컨테이너. 컴포넌트 접근에 사용 |
| 스케줄 작업 | executor | 작업 실행 제어 ( JobExecutor ). 작업 정지 지원에 필요 |
| 데이터 스토어 | (커넥터별) | 각 데이터 스토어가 제공하는 데이터 레코드 변수 |
스케줄 작업 스크립트
스케줄 작업에서 사용하는 Groovy 스크립트 예입니다. 스케줄 작업에서는 container 와 executor 를 사용할 수 있습니다. executor 를 작업의 execute() 메서드에 전달하면 작업 정지 제어가 활성화됩니다.
크롤 작업 실행
조건부 크롤링
여러 작업을 순서대로 실행
Java 클래스 사용
Groovy 스크립트 내에서는 Java 표준 라이브러리나 Fess 클래스를 사용할 수 있습니다.
날짜/시간
파일 조작
HTTP 통신
경고
외부 리소스 접근은 성능에 영향을 미치므로 필요 최소한으로 줄이세요.
Fess 컴포넌트 접근
``container``를 사용하여 Fess 컴포넌트에 접근할 수 있습니다.
시스템 헬퍼
설정값 가져오기
검색 실행
오류 처리
디버그와 로그 출력
로그 출력
디버그용 출력
모범 사례
단순하게 유지: 복잡한 로직은 피하고 읽기 쉬운 코드 작성
null 체크:
?.연산자나?:연산자 활용예외 처리: 적절한 try-catch로 예상치 못한 오류 대응
로그 출력: 디버깅하기 쉽도록 로그 출력
성능: 외부 리소스 접근 최소화
참고 정보
스크립팅 개요 - 스크립팅 개요
데이터 저장소 크롤링 - 데이터 스토어 설정 가이드
스케줄러 - 스케줄러 설정 가이드