Skip to content

catalog-service: 검색 로직 제거 및 단순 목록 조회로 전환 #103

@koosco

Description

@koosco

목표

검색 기능이 search-service로 이관된 후, catalog-service의 검색 관련 로직을 정리하고 단순 목록 조회만 남긴다.

의존관계

배경

catalog-service의 GET /api/products는 현재 keyword 검색, 복잡한 정렬(RECOMMENDED, POPULARITY 등), 속성 필터링까지 담당한다. 이를 search-service로 이관 후 catalog-service는 단순 목록 조회(카테고리별, 브랜드별 필터링)만 담당한다.

구현 내용

1. 제거 대상

  • ProductQuery.kt에서 keyword 검색 관련 로직 제거
    • containsIgnoreCase 키워드 검색
    • RECOMMENDED 정렬의 keyword boosting (CASE 문)
    • POPULARITY 가중치 계산
  • GetProductListCommand에서 keyword 파라미터 제거
  • SortStrategy에서 RECOMMENDED, POPULARITY 제거 (search-service로 이동)
  • UserBehaviorEventProducer 호출 제거 (search 행동 추적은 search-service 담당)

2. 유지 대상

  • 카테고리별, 브랜드별 필터링 (관리자 목록 조회용)
  • 가격 범위 필터링
  • LATEST, PRICE_ASC, PRICE_DESC 정렬
  • 페이지네이션

3. API 변경

# 기존 (검색 + 목록)
GET /api/products?keyword=스마트폰&sort=RECOMMENDED

# 변경 후 (단순 목록만)
GET /api/products?categoryId=1&brandId=2&sort=LATEST

4. user-behavior 이벤트 이관

  • catalog-service에서 user-behavior-events 토픽 발행 로직 제거
  • search-service에서 검색 시 user-behavior-events 발행하도록 이관

체크리스트

  • ProductQuery에서 keyword 검색 로직 제거
  • 불필요한 SortStrategy 제거
  • UserBehavior 이벤트 발행 로직 이관
  • API 문서 업데이트
  • 기존 테스트 수정
  • search-service 검색 API 정상 동작 확인

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions