개요
CSV 커넥터는 CSV 파일에서 데이터를 가져와서 Fess 인덱스에 등록하는 기능을 제공합니다.
이 기능을 사용하려면 fess-ds-csv 플러그인이 필요합니다.
전제조건
플러그인 설치가 필요합니다
CSV 파일에 대한 액세스 권한이 필요합니다
CSV 파일의 문자 인코딩을 파악하고 있어야 합니다
플러그인 설치
방법 1: JAR 파일 직접 배치
방법 2: 관리 화면에서 설치
“시스템” → “플러그인” 열기
JAR 파일 업로드
Fess 재시작
설정 방법
관리 화면에서 “크롤러” → “데이터 스토어” → “새로 만들기”에서 설정합니다.
기본 설정
| 항목 | 설정 예 |
|---|---|
| 이름 | Products CSV |
| 핸들러 이름 | CsvDataStore |
| 활성화 | 켬 |
파라미터 설정
로컬 파일:
HTTP 파일:
복수 파일:
파라미터 목록
스크립트 설정
헤더가 있는 경우:
헤더가 없는 경우(열 인덱스 지정):
사용 가능한 필드
data.<열명>- 헤더 행의 열명(has_header_line=true인 경우)data.cell<N>- 열 인덱스(has_header_line=false인 경우, 1부터 시작:cell1,cell2…)
CSV 형식 상세
표준 CSV(RFC 4180 준수)
구분자 변경
탭 구분(TSV):
세미콜론 구분:
커스텀 인용 부호
작은따옴표:
인코딩
일본어 파일(Shift_JIS):
일본어 파일(EUC-JP):
사용 예
제품 카탈로그 CSV
CSV 파일(products.csv):
파라미터:
스크립트:
재고 정보 필터링:
직원 명부 CSV
CSV 파일(employees.csv):
파라미터:
스크립트:
헤더 없는 CSV
CSV 파일(data.csv):
파라미터:
스크립트:
복수 CSV 파일 통합
파라미터:
스크립트:
HTTP에서 CSV 가져오기
파라미터:
스크립트:
탭 구분(TSV) 파일
TSV 파일(data.tsv):
파라미터:
스크립트:
문제 해결
파일을 찾을 수 없음
증상: FileNotFoundException 또는 No such file
확인 사항:
파일 경로가 올바른지 확인(절대 경로 권장)
파일이 존재하는지 확인
파일의 읽기 권한이 있는지 확인
Fess 실행 사용자가 액세스 가능한지 확인
문자 깨짐 발생
증상: 한글이 올바르게 표시되지 않음
해결 방법:
올바른 문자 인코딩 지정:
파일 인코딩 확인:
열이 올바르게 인식되지 않음
증상: 열 구분이 올바르게 인식되지 않음
확인 사항:
구분 문자가 올바른지 확인:
인용 부호 설정 확인
CSV 파일 형식 확인(RFC 4180 준수인지)
헤더 행 처리
증상: 첫 번째 행이 데이터로 인식됨
해결 방법:
헤더 행이 있는 경우:
헤더 행이 없는 경우:
데이터를 가져올 수 없음
증상: 크롤링은 성공하지만 건수가 0
확인 사항:
CSV 파일이 비어 있지 않은지 확인
스크립트 설정이 올바른지 확인
열명이 올바른지 확인(has_header_line=true인 경우)
로그에서 오류 메시지 확인
대형 CSV 파일
증상: 메모리 부족 또는 타임아웃
해결 방법:
CSV 파일을 여러 개로 분할
필요한 열만 스크립트에서 사용
|Fess|의 힙 크기 증가
불필요한 행 필터링
줄바꿈을 포함하는 필드
RFC 4180 형식에서는 인용 부호로 감싸면 줄바꿈을 포함하는 필드를 처리할 수 있습니다:
파라미터:
스크립트 고급 사용 예
데이터 가공
조건부 인덱싱
복수 열 결합
날짜 형식
참고 정보
데이터스토어 커넥터 개요 - 데이터 스토어 커넥터 개요
JSON 커넥터 - JSON 커넥터
데이터베이스 커넥터 - 데이터베이스 커넥터
데이터 저장소 크롤링 - 데이터 스토어 설정 가이드