나는 의미를 이해하고 키워드만이 아닌 Search Engine을 만들었다
Source: Dev.to

문제점
키워드 검색은 정확히 일치하는 경우에만 작동하며 의미를 파악하지 못합니다. 사용자가 문서에 사용된 어휘와 다른 용어로 검색하면 결과를 놓치고 좌절하게 됩니다.
해결책
문맥을 이해하는 Semantic Search API 를 제공하여 단순 키워드가 아니라 의미를 파악합니다.
텍스트 → 숫자
문서는 HuggingFace 임베딩을 사용해 768차원 벡터로 변환됩니다. 의미가 비슷할수록 벡터도 유사하게 나타납니다.
스마트 매칭
MongoDB Atlas Vector Search 가 벡터를 직접 비교해 단어 겹침에 의존하지 않는 의미 기반 유사도 매칭을 수행합니다.
순위 결과
메타데이터 부스팅(카테고리, 날짜, 저자)을 적용해 가장 관련성 높은 결과가 먼저 표시됩니다.
사용 기술
- Node.js & Express
- MongoDB Atlas Vector Search
- HuggingFace Embeddings
- MVC 아키텍처
실제 효과
- “programming”을 검색하면 “JavaScript”, “Python”, “coding” 등도 함께 결과에 포함됩니다.
- 여러 언어와 동의어를 지원합니다.
- AI 스타일 검색 경험 및 Retrieval‑Augmented Generation (RAG) 시스템에 활용됩니다.
오픈 소스
프로젝트는 GitHub에 오픈소스로 공개되어 있습니다: [link]
Tags: AI, Machine Learning, Semantic Search, Software Engineering, Node.js, MongoDB, Tech Innovation