Connection.prepareStatement(SELECT id, object_type, object_id, chunk_index, text, embedding, metadata, created_at
FROM tb_ai_document_chunk
WHEREmetadata ->> 'chunkId'IN (?)
OR'row-' || idIN (?)
ORmetadata ->> 'documentId' IN (?)
ORDER BY object_type, object_id, chunk_index, id
)
org.postgresql.util.PSQLException: ERROR: syntax error at or near "->>"
Issue
Type
Size
Summary
JdbcExistingVectorItemRepository.findByVectorItemIds()의 SQL 문자열 조립 공백 누락으로 보입니다.Background
/services/ai/vector-visualization에서COMPLETED · 122건Projection을 선택하면 산점도가 정상 렌더링됩니다.검색어=퇴직금 규정은,Top-K=10으로 검색 시각화를 실행하면 Top-K 결과가 정상 반환됩니다.GET /api/mgmt/ai/vectors/items/6-18호출이 500으로 실패하고, 선택 항목 상세 패널에 서버 오류가 표시됩니다.Scope
JdbcExistingVectorItemRepository.findByVectorItemIds()SQL 조립 수정WHERE,IN,OR앞뒤 공백 보장jsonText(null, "chunkId"),rowVectorItemId("id"),jsonText(null, "documentId")concat 경계 보정chunkId,row-{id},documentId기준으로 정상 조회되는지 확인Acceptance Criteria
GET /api/mgmt/ai/vectors/items/{vectorItemId}호출이 200으로 응답한다.vectorItemId=6-18같은 chunk id 조회가 정상 동작한다.label,targetType,sourceId,text,embeddingModel,dimension,metadata,createdAt이 포함된다.Validation Plan
AI-Assisted
AI Usage
/services/ai/vector-visualization에서 검색 시각화 후 Top-K 결과 클릭 및 산점도 점 클릭으로 상세 패널 표시를 확인합니다.Notes
proj-20260430044829-105b3fa0GET /api/mgmt/ai/vectors/items/6-18퇴직금 규정은검색 시 Top-K 10건과 similarity가 표시됨.JdbcExistingVectorItemRepository.findByVectorItemIds()의 text block + 문자열 concat 경계.