Skip to content

자동완성을 위한 Trie 구조를 제거하고, naver cloud search로 대체한 이유

Jeong Se Ho edited this page Dec 14, 2023 · 2 revisions

🖼️ 배경

기존에는 20~30개 정도의 검색 기록만을 가지고 Trie구조를 생성하고, 이를 1시간마다 동기화하는 방식으로 검색 자동 완성 기능을 구현하였다. Trie는 메모리에 저장하기에 저장해야 할 데이터가 커지면 서버가 터지는 상황이 발생할 것이라 생각 됨.

✅ 결정

  • 자동 완성기능은 Naver Cloud Search로 대체

🤷🏻 이유

기존에는 20~30개 정도의 검색 기록만을 가지고 Trie구조를 생성하고, 이를 1시간마다 동기화하는 방식으로 검색 자동 완성 기능을 구현하였다. 하지만 Trie 구조가 커질수록 메모리에 주는 부담이 늘어나는 것에 대한 고민이 생겼고, 해당 구조를 다른 공간에서 대신해서 들고 있을 수 있다면 문제 개선에 도움이 될 것이라 생각하였다. 따라서 Trie 구조를 사용하던 자동완성/스토리캐싱 기능 중에 자동완성 기능은 naver cloud search로 대체하였다.

🤔 우려되는 점

  • 마이그레이션 비용

🔥 HeatPick

🔨 프로젝트 소개

🫠 트러블 슈팅

1주차

2주차

3주차

4주차

5주차

🤔 기획 회의록

🤷🏻 의사 결정록

🍎 iOS

🌐 Backend

🎯 주차별 목표

🏃🏻 데일리 스크럼

1주차

2주차

3주차

4주차

5주차

6주차

🙇🏻 멘토링 일지

👀 프로젝트 현황 공유

🙋🏻 팀 회고

💪 개인 회고

1주차

2주차

3주차

4주차

5주차

📇 템플릿

Clone this wiki locally