Trie와 Redis ZSET 비교: 키워드 자동완성 기능에 가장 효율적인 방법은?
·
Redis/Redis 개념
Redis를 사용해서 검색어 자동 기능검색을 구현하려고 할때 두 가지 방법으로 구현이 가능하다. 단, 조건은 중간 단어 검색이 아닌 첫 글자를 기준으로 검색했을때를 기준으로 선정한 방법이다.검색 엔진, 추천 시스템, 그리고 실시간 키워드 자동완성 기능은 사용자 경험(UX)을 크게 향상시킨다. 이러한 기능을 구현하기 위해 주로 사용되는 두 가지 접근법은 Trie 알고리즘과 Redis ZSET이다.이 글에서는 Trie와 Redis ZSET을 비교하고, 키워드 자동완성 기능에 어떤 방법이 더 효율적인지 살펴본다.1. Trie 알고리즘이란?Trie는 접두사 트리(Prefix Tree)라고 불리며, 문자열의 공통 접두사를 공유하는 자료구조다.Trie의 주요 특징접두사 검색에 최적화: 입력된 문자열의 접두사를 기준..
키워드 초성 검색 기능 개선 과정
·
Spring/프로젝트 리팩토링 회고록
[요구 사항]매칭 시 유저의 닉네임을 검색하는 기능 요구. 단, 유저의 닉네임 단어 일부를 검색하면 자동으로 키워드를 완성반려견 프로필 등록 시 견종을 검색하는 기능 요구. 단, 반려견의 견종 일부를 검색하면 자동으로 키워드를 완성반려견 견종이 없는 경우에는 유저가 직접 입력하여 등록직접 입력한 데이터는 견종 데이터 자동 완성 키워드에 출력되지 않음  [기능 구현방식 선정]구현 방식에 대해서는 세 가지 방법이 있었습니다.1. MySQL에 데이터를 저장하고 LIKE %keyword%를 사용한 검색2. Elastic Search를 사용한 형태소 단위 검색3. Redis의 ZSet [각 방식의 장/단점]1. MySQL 과 LIKE 함수 활용 1번의 과정은 견종 데이터를 정적 테이블에 삽입하고, 조회 시에는 L..