MongoDB를 이용하여 검색 시스템을 만들어보자(: full text search)
Growth Hacking 2023. 7. 25. 00:18

안녕하세요 😉 유유자적한 개발자 유로띠 입니다 😀 회사에서 프로젝트를 통해 배우고 성장하며 이것을 토대로 그로스 해커(Growth Hacker)가 되기 위한 포스팅입니다. 오늘의 이야기는 다양한 검색어에 대해서 어떻게 전문 검색(full text search)을 지원해야 할지 고민했던 내용입니다 😏 🤔 전문 검색(full text search)이 필요하다 온라인 강의를 제공하는 서비스 회사에서 이번 맡은 업무는 강의 검색 고도화입니다. 요구사항을 간단히 살펴보겠습니다. 강의 검색 시 제목뿐만 아니라 다음과 같은 범위도 검색의 대상이 되어야 한다. ✅ 강의의 목차 ✅ 강사의 이름 ✅ 강의 소개 ✅ 관련 키워드 요구사항을 확인해 보면 결국 단 한 가지! 전문 검색이 가능해야 한다는 점입니다. 그럼 현재 검색..

MongoDB에서 nGram 사용하기(fts, search index)
Programming/mongoDB 2023. 7. 8. 17:40

안녕하세요 😉 유유자적한 개발자 유로띠 입니다 😀 👏👏👏👏 이번 포스팅에서는 ✅ n-gram 이란? ✅ search Index 설정하기 에 대해서 알아보겠습니다 n-gram 이란? ✅ 전문 검색의 종류 n-gram을 설명하기 앞서 먼저 전문 검색하는 종류에 대해서 간단히 살펴볼게요 전문 검색의 아키텍처는 종류가 많이 있는데, 그중에 가장 많이 사용하는 3가지를 소개할게요 📍 grep 형 grep형은 검색 대상 문서를 처음부터 전부 읽어가는 가장 단순한 아키텍처입니다. 단순하게 구현한다면, big-O로 계산하면 O(텍스트의 길이 x 검색 대상의 검색어의 길이) 만큼 상당한 시간이 걸립니다. 장점은 즉시성이 좋고, 검색누락이없으며, 병렬화하기가 매우 간단하다는 특징이 있습니다. 📍 Suffix 형 Suffi..