Skip to content

fix: 인기순 검색에서 스냅샷 없는 주류 누락 수정 - #747

Open
Whale0928 wants to merge 1 commit into
mainfrom
fix/alcohol-search-result-count
Open

fix: 인기순 검색에서 스냅샷 없는 주류 누락 수정#747
Whale0928 wants to merge 1 commit into
mainfrom
fix/alcohol-search-result-count

Conversation

@Whale0928

Copy link
Copy Markdown
Collaborator

인기순 검색이 최신 HOUR 인기 점수 스냅샷과 INNER JOIN되어, 같은 검색어로 랜덤 검색에 나타나는 주류가 리뷰 작성의 인기순 검색에서는 빠지는 문제를 수정합니다. 운영에서 벤로막 검색은 POPULAR 31개, RANDOM 34개였고 차이 ID는 5090, 5096, 5695였습니다.

  • 인기순 후보 조회를 LEFT JOIN으로 바꾸고 스냅샷이 없는 주류의 점수는 정렬·커서 비교에서 0으로 취급합니다. 동점은 ID 오름차순으로 정렬합니다.
  • 스냅샷이 전혀 없는 상태도 검색하며, 첫 페이지의 스냅샷 부재를 서명된 커서에 기록하여 다음 페이지 전에 배치가 실행돼도 같은 기준을 유지합니다. 기존 날짜형 bucketAt 커서는 계속 지원합니다.
  • 검색 대상 일치, 부분·전체 스냅샷 부재, 0점 동점의 ASC/DESC 페이지 연속성, 삭제·평점 필터 및 잘못된 커서의 회귀 테스트를 보강합니다.
  • 검색 API 문서에 동일 필터에서 정렬은 순서만 바꾼다는 기준을 명시합니다.

프론트엔드, DB 스키마, 배치, 운영 데이터는 변경하지 않습니다.

검증은 요청에 따라 로컬 실행 없이 PR 생성 후 GitHub Actions CI #698에서 수행했습니다. 대상 커밋은 b8d28d6d71b9742935746c964d2faa2d546890b1이며 모든 CI 작업과 전체 빌드가 통과했습니다.

  • 단위·배치 인기 점수 테스트: 1,029건 통과
  • 아키텍처 규칙 테스트: 66건 통과
  • Product 통합 테스트: 378건 통과, 이 중 검색 통합 테스트 32건 통과
  • Admin 통합 테스트: 280건 통과
  • 업로드된 JUnit XML 합계: 1,753건, 실패·오류·건너뜀 모두 0건
  • 전체 빌드: ./gradlew build -x test --build-cache --parallel 통과

운영 반영 후 데이터가 같다면 정렬 방식과 관계없이 검색 ID 집합이 일치해야 합니다. 이번 검증은 테스트 환경에서 수행했으며 운영 배포나 부하 측정은 수행하지 않았습니다.

관련 이슈: bottle-note/workspace#438

브랜치 이름을 영어로 변경하면서 기존 PR #746을 대체합니다. 코드와 커밋은 동일하며, 기존 GitHub Actions 검증 결과도 같은 커밋에 대한 결과입니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant