목표
실시간 인기 검색어 TOP N을 제공하는 API를 구현한다.
의존관계
구현 내용
1. 인기 검색어 API
GET /api/search/popular?limit=10
Response:
{
"keywords": [
{"rank": 1, "keyword": "스마트폰", "searchCount": 1523},
{"rank": 2, "keyword": "노트북", "searchCount": 982}
]
}
2. 구현 방식 (Redis Sorted Set)
- Key:
search:popular:{yyyyMMdd} (일별)
- Member: 검색어 (정규화: 소문자, trim)
- Score: 검색 횟수 (
ZINCRBY)
- 검색 API 호출 시 keyword가 있으면 카운트 증가
3. 집계 로직
- 실시간: 현재 시간 기준 최근 N일 데이터
ZUNIONSTORE
- 캐싱: 인기 검색어 결과를 1분 TTL로 Redis 캐싱 (빈번한 조회 대응)
- 정리: 7일 이전 키 자동 만료 (TTL 설정)
4. 기존 mAP@k 메트릭과 연동
- 검색 품질 메트릭(mAP@k)과 인기 검색어를 조합하여
인기 검색어별 검색 품질을 모니터링할 수 있는 기반 마련
체크리스트
목표
실시간 인기 검색어 TOP N을 제공하는 API를 구현한다.
의존관계
구현 내용
1. 인기 검색어 API
Response:
{ "keywords": [ {"rank": 1, "keyword": "스마트폰", "searchCount": 1523}, {"rank": 2, "keyword": "노트북", "searchCount": 982} ] }2. 구현 방식 (Redis Sorted Set)
search:popular:{yyyyMMdd}(일별)ZINCRBY)3. 집계 로직
ZUNIONSTORE4. 기존 mAP@k 메트릭과 연동
인기 검색어별 검색 품질을 모니터링할 수 있는 기반 마련
체크리스트