verification_exception: verification_exception: Found N problem(s) — Unknown column / Unknown index (ES|QL, SQL, EQL) (N개 문제 발견 — 알 수 없는 컬럼/인덱스)
Elasticsearch의미
ES|QL(_query), SQL(_sql) 또는 EQL 쿼리가 구문상으로는 파싱되었지만 의미 검증에 실패했다: 참조한 인덱스, 필드(컬럼) 또는 함수를 찾을 수 없거나 타입이 호환되지 않는다. 오류 텍스트에 문제가 있는 줄/컬럼 위치가 표시된다(예: "line 1:18: Unknown column [field]"). 스냅샷 리포지토리 검증 실패는 이 코드가 아니라 repository_verification_exception이다.
원인
철자가 틀렸거나 매핑에 없는 필드 이름, 존재하지 않거나 어떤 인덱스와도 일치하지 않는 인덱스 패턴, text 필드에 대한 지원되지 않는 작업(예: keyword 하위 필드 대신 text로 그룹화), 호환되지 않는 타입 간 비교나 알 수 없는 함수가 원인이다.
해결 방법
오류 메시지의 line:column 정보를 이용해 쿼리를 수정한다. 필드 이름과 타입 확인: GET idx/_mapping (SQL은 DESCRIBE idx / SHOW COLUMNS). GET _cat/indices로 인덱스 패턴을 확인한다. 그룹화/정렬에는 keyword 하위 필드(field.keyword)를 사용하고, 타입 불일치에는 명시적 변환을 적용한다(ES|QL: TO_STRING, TO_INTEGER 등).
같은 데이터베이스의 다른 항목
- parsing_exceptionFailed to parse the search request / query DSL (검색 요청 / query DSL 파싱 실패)
- max_bytes_length_exceeded_exceptionDocument contains at least one immense term that is too long (너무 긴 거대한 term이 문서에 포함됨)
- illegal_argument_exception_total_fieldsLimit of total fields has been exceeded
- bind_transport_exceptionbind_transport_exception (Address already in use) (주소가 이미 사용 중)
- translog_corrupted_exceptiontranslog_corrupted_exception
- recovery_engine_exceptionrecovery_engine_exception
- snapshot_in_progress_exceptionsnapshot_in_progress_exception