studio 조회 관련 기능 개발
oownahcohc opened this issue · comments
전체 스튜디오 조회
- api path :
/studio/maps
지도 클릭 시 현재 위치 기반, 반경 (?) km 내의 studio 조회 -> (기획 질문)
스튜디오 상세 조회
- api path :
/studio/:studioId
- studio 관련 상세 정보 조회 (photo review 는 스튜디오 별 사진 목록 조회 api 있는 것으로 확인)
스튜디오 검색
-
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
를 이용한 검색 쿼리
- 전체 스튜디오 조회
- 현재 위치 정보를 사용자로 부터 받지 못하는 case 가 있을수 있어서, default 로는 어디로 세팅해서 보여줄지 기획이랑 이야기할 필요가 있겠네요
- (?) km 보다는, 현재위치 (x1, y1) 로부터 위도로는 얼마나, 경도로는 얼마나의 구역을 (x * y) 를 정의해서 스튜디오 서치가 되도록 구현되어야할것같아요
- mysql query 로 search 를 하게되면 range search 가 이루어질것같은데요~ 인덱스는 (issue) 해당 이슈에 정리해두면 좋을것같아요. (latitude, longitude)
- 기존 api response 에 맞춰서 잘 구성 부탁드리겠습니다
- 스튜디오 상세 조회
- 상세 조회 뷰 보시면, 지도에 스튜디오 위치랑 주변 스튜디오 정보도 같이 주는것같은데요, 기존 api 에는 해당 내용 없는 것같네요. 해당 부분 우선 response 에 추가로 담으면 좋을것같아요
- interface 변경 해야할것같으면 해당 이슈에 정리하시고 전달드리면 될것같네요~
- 상세 조회 뷰 보시면, 지도에 스튜디오 위치랑 주변 스튜디오 정보도 같이 주는것같은데요, 기존 api 에는 해당 내용 없는 것같네요. 해당 부분 우선 response 에 추가로 담으면 좋을것같아요
- 스튜디오 검색
- 쿼리 어떻게 구성하실 계획인지 정리해두면 좋을것같아요
전체 스튜디오 조회
- 현재 위치 정보를 사용자로 부터 받지 못하는 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 적용되어야할것같네요