피드로 돌아가기
Dev.toBackend
원문 읽기
Meilisearch 도입으로 검색 지연시간 340ms에서 28ms로 91% 단축
I built a search engine over 1,600+ cybersecurity articles — here's what I actually learned
AI 요약
Context
MySQL LIKE 연산 기반의 단순 검색 구조로 인한 낮은 검색 정확도와 높은 지연시간 발생. 특히 복합 키워드 검색 시 연관성 낮은 결과가 상위에 노출되는 Ranking 문제 직면.
Technical Solution
- 오타 허용 및 50ms 미만 응답 속도 달성을 위한 Meilisearch 기반의 Full-text Search 엔진 도입
- Go Fiber 백엔드와 Meilisearch 간의 CRUD Hook을 통한 실시간 인덱스 동기화 구조 설계
- 검색 정확도 향상을 위해 Write-time 단계에서 Excerpt 품질 검증 로직 강제 적용
- 검색 공간 축소 및 Precision 향상을 위한 Category 기반 사전 필터링 체계 구축
- Meilisearch 장애 시 서비스 가용성 확보를 위한 MySQL LIKE 검색 기반의 Fallback 메커니즘 구현
- Vector DB 없이 Meilisearch 검색 결과(Top 3-5)를 LLM Prompt Context로 주입하는 경량 RAG 아키텍처 채택
실천 포인트
- 검색 결과 제로(Zero-result) 쿼리를 로깅하여 콘텐츠 공백 및 Synonym 리스트 도출 - 검색 엔진 장애를 대비한 단순 DB 쿼리 기반의 Fallback 전략 마련 - 데이터 입력 단계에서 최소 길이 및 필수 항목 검증을 통한 인덱싱 품질 확보 - 전문 용어가 많은 도메인의 경우 Synonym API를 통한 검색어 매핑 사전 정의