TeamFILL-IN / server-renew

spring base

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

studio 조회 관련 기능 개발

oownahcohc opened this issue · comments

전체 스튜디오 조회

  • api path : /studio/maps
  • 지도 클릭 시 현재 위치 기반, 반경 (?) km 내의 studio 조회 -> (기획 질문)

스튜디오 상세 조회

  • api path : /studio/:studioId
  • studio 관련 상세 정보 조회 (photo review 는 스튜디오 별 사진 목록 조회 api 있는 것으로 확인)

스크린샷 2023-11-28 오전 3 59 46

스튜디오 검색

  • api path : /studio/search?keyword=

  • 검색어(keyword)가 포함된 스튜디오 모두 조회

    • 사용자가 입력한 키워드가 포함된 스튜디오를 검색할 수 있는 쿼리 필요

    1. 와일드 카드를 이용하는 방법

    SELECT * FROM studio
    WHERE name LIKE CONCAT('%', :keyword, '%')
    OR address LIKE CONCAT('%', :keyword, '%');

    2. FULLTEXT INDEX 를 사용하는 방법

    LIKE 연산을 통해 검색을 하게 되면 인덱스를 통한 검색을 하지 못함. 따라서 FULLTEXT INDEX 를 사용해 검색

    ALTER TABLE studio 
    ADD FULLTEXT INDEX ft_index (name, address) 
    WITH PARSER ngram;

    을 통해 studio 테이블 검색에 사용할 FULLTEXT INDEX 생성

    SELECT * FROM studio
    WHERE MATCH(name, address) AGAINST('검색어' IN NATURAL LANGUAGE MODE);

    MATCH ...AGAINST 를 이용한 검색 쿼리

스크린샷 2023-11-28 오전 3 55 57

  • 전체 스튜디오 조회
    • 현재 위치 정보를 사용자로 부터 받지 못하는 case 가 있을수 있어서, default 로는 어디로 세팅해서 보여줄지 기획이랑 이야기할 필요가 있겠네요
    • (?) km 보다는, 현재위치 (x1, y1) 로부터 위도로는 얼마나, 경도로는 얼마나의 구역을 (x * y) 를 정의해서 스튜디오 서치가 되도록 구현되어야할것같아요
      • mysql query 로 search 를 하게되면 range search 가 이루어질것같은데요~ 인덱스는 (issue) 해당 이슈에 정리해두면 좋을것같아요. (latitude, longitude)
      • 기존 api response 에 맞춰서 잘 구성 부탁드리겠습니다
  • 스튜디오 상세 조회
    • 상세 조회 뷰 보시면, 지도에 스튜디오 위치랑 주변 스튜디오 정보도 같이 주는것같은데요, 기존 api 에는 해당 내용 없는 것같네요. 해당 부분 우선 response 에 추가로 담으면 좋을것같아요
      • interface 변경 해야할것같으면 해당 이슈에 정리하시고 전달드리면 될것같네요~
  • 스튜디오 검색
    • 쿼리 어떻게 구성하실 계획인지 정리해두면 좋을것같아요

@daehwan2da

전체 스튜디오 조회

  • 현재 위치 정보를 사용자로 부터 받지 못하는 case 가 있을수 있어서, default 로는 어디로 세팅해서 보여줄지 기획이랑 이야기할 필요가 있겠네요
  • (?) km 보다는, 현재위치 (x1, y1) 로부터 위도로는 얼마나, 경도로는 얼마나의 구역을 (x * y) 를 정의해서 스튜디오 서치가 되도록 구현되어야할것같아요

해당 부분은 말씀 주신대로 기획이랑, 현재 클라이언트가 어떻게 구현해놨는지도 이야기 해봐야할 것 같아요!!
추가적으로 제가 어제 studio 데이터를 기획에게 받았는데 68개 밖에 없어서, 지금 단계에서는 전체 조회 시 전부 다 보여줘도 될 것 같다는 생각이 들었는데, 혹시 대환님은 어떻게 생각하시나요?! ㅎㅎ

  • 상세 조회 뷰 보시면, 지도에 스튜디오 위치랑 주변 스튜디오 정보도 같이 주는것같은데요, 기존 api 에는 해당 내용 없는 것같네요. 해당 부분 우선 response 에 추가로 담으면 좋을것같아요

넵 ㅎㅎ 이부분도 일단 클라이언트한테 질문해봐야 할 것 같아요! 클라이언트 자체적으로 지도 뷰에서 그냥 보여주는 것 같기도 해서요!!

스튜디오 검색

스튜디오 검색 부분도 말씀 주신대로 쿼리 구성 어떻게 할지 한번 생각해서 이슈에 적어뒀습니다!
다만 FULLTEXT INDEX 를 이용한 검색을 해본 적이 없어서, 추가적으로 조언 주실 부분 있으시다면 해주시면 감사하겠습니다 ㅎㅎ

해당 부분은 말씀 주신대로 기획이랑, 현재 클라이언트가 어떻게 구현해놨는지도 이야기 해봐야할 것 같아요!!
추가적으로 제가 어제 studio 데이터를 기획에게 받았는데 68개 밖에 없어서, 지금 단계에서는 전체 조회 시 전부 다 보여줘도 될 것 같다는 생각이 들었는데, 혹시 대환님은 어떻게 생각하시나요?! ㅎㅎ

인터페이스만 뚫어두고 구현은 나중에 필요하면 해도 좋을것같네요~ (우선 전체조회하는 방향으로)

스튜디오 검색 부분도 말씀 주신대로 쿼리 구성 어떻게 할지 한번 생각해서 이슈에 적어뒀습니다!
다만 FULLTEXT INDEX 를 이용한 검색을 해본 적이 없어서, 추가적으로 조언 주실 부분 있으시다면 해주시면 감사하겠습니다 ㅎㅎ

저도 rdb 로 fulltext search 경험은 없어서, 같이 이슈하나 파서 서치한거 정리하고, 공유하면서 진행하면 좋을것같네요~ (issue 에 같이 정리해보면서 해봐요~

  • 우선 기획 figma 에서 보면 '영등포구 현상소' 검색에 '영등포' 를 catch 하여 검색이 된것으로 보이는데요, 이런 검색조건의 경우는 ngram parser 적용되어야할것같네요

저도 rdb 로 fulltext search 경험은 없어서, 같이 이슈하나 파서 서치한거 정리하고, 공유하면서 진행하면 좋을것같네요~ (issue 에 같이 정리해보면서 해봐요~

넵! 해당 api 개발할 때 서치해서 정리해두도록 할게요 ㅎㅎ