우당탕탕, 검색 기능 구현하기(1)(쉬운 줄 알았다...)

윤태호·2023년 3월 23일
0

다중,순차적 조건 검색 기능 구현하기

아니 검색 기능이 이렇게 어려운 거였어???

필자는 파이널 프로젝트에서 문제풀이 서비스를 담당하게 되었고, 처음으로 메인 페이지를 처리하려고 하였다. 사실 단순 조회인줄 알고 금세 끝날 줄 알았지만...엄청난 오만이였다.ㅎㅎㅎㅎㅎ;;;;;
기존에 JPA findone, finallby이런게 아니라 조건이 여러개이며 조건이 동적으로 바뀌자 기존 JPA로는 감당하기 어려웠고 Query dsl이라는 동적쿼리를 위한 새로운 쿼리문의 필요성을 느끼게 되었다.

대대적인 검색 서비스에 대한 Flow 다시 생각하기....

너무 안일한 생각으로 검색서비스를 구축할려다 보니 지속적인 문제에 계속 충돌하게 되었다. 예를 들어 1. 동적쿼리 2.DB의 트래픽 줄이는 법 3.Pageable(무한 스크롤)
위의 3가지만 고려해도 대대적으로 바뀌며 재점검해야할 시간이 필요해졌다.
그래서 나는 다시 검색 플로우에 대해 생각하기 시작했다.
첫번째 동적 쿼리를 적용하여 다중 및 순차 조건을 구현하고자 하였고, Query Dsl을 활용해 구현을 성공했다. 이에 대한 내용은 TechTalk에 기재해놓았다 아래에 링크를 달아 놓겠습니다.
https://velog.io/@dbsxogh96/Query-Dsl%EA%B3%BC-%EB%8F%99%EC%A0%81-%EC%BF%BC%EB%A6%AC%EC%9D%98-%EC%A4%91%EC%9A%94%EC%84%B1

자 이제 시작이다...다음 편은 무한 스크롤과 DB의 트래픽을 줄이기 위해 Page를 사용한 것에 대해 정리해보고자 한다.

profile
성장하는것을 제일 즐깁니다.

0개의 댓글