📌 문제상황

사용자 쿼리의 조사+복합어로 인한 검색 실패

예: "롯데채용공고를 찾아줘"

Query: 롯데채용공고를
       |  복합어 |+|조사|
레이어 상태 문제
Dense (pgvector) ✅ OK "채용", "공고" 의미 포착 가능
Sparse (FTS) ❌ 실패 "롯데채용공고를"이 단일 토큰 → "채용", "공고" 토큰 없음
Keyword Rescoring ❌ 실패 raw token "롯데채용공고를" ≠ "롯데" keyword → 순위 상승 불가

결과: Dense 신호만으로 부족 → 상관없는 문서도 상위 노출

image.png

image.png


🔧 해결방안 (4가지)

1️⃣ LLM 기반 Keyword Mapping

원리: 링크 저장 시 LLM이 자동으로 핵심 키워드 추출

Link {
  "keywords": ["AI", "채용", "개발자"],  // LLM 자동 추출
  "title": "AI개발자 채용 공고"
}

매칭 규칙 (_token_matches):

효과: 키워드가 사전에 정리되어 있어 정확한 매칭 가능