인기 게시물 보여주기

  1. elastic search로 게시물 인기 순위를 집계
  2. threadId만 반환 받아서 다른 데이터 불러오기
  3. 무한 스크롤 예정

무한 스크롤

검색환경

https://61936606360b44daba4c1e5a59cea9f4.us-central1.gcp.cloud.es.io/app/management/security/api_keys/create

Elastic 게시물 comment 저장 방식

🔥 MySQL과 Elasticsearch 연동: threadId는 Elasticsearch에서, title, date, image는 MySQL에서 가져오기

Elasticsearch에서 threadId만 가져오고, 해당 threadId를 기반으로 MySQL에서 title, date, image를 조회하는 방식이 최적!

이렇게 하면 Elasticsearch의 검색 속도 이점을 활용하면서도, MySQL의 데이터 정합성을 유지 가능

기능 MySQL Elasticsearch
게시물 저장 postTitle, postContent 저장 postContent을 배열(Array)로 저장
좋아요 추가 개별 userId 저장 likes +1 증가
좋아요 취소 개별 userId 삭제 likes -1 감소
댓글 추가 개별 commentContent 저장 comments +1 증가
게시물 검색 LIKE '%keyword%' (느림) title + postContent 배열 기반 검색 (빠름)
랭킹 정렬 COUNT(*) 사용 (느림) likes * 2 + comments * 2 기반 정렬 (빠름)