Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

studio 조회 관련 기능 개발 #25

Open
oownahcohc opened this issue Nov 27, 2023 · 4 comments
Open

studio 조회 관련 기능 개발 #25

oownahcohc opened this issue Nov 27, 2023 · 4 comments
Assignees

Comments

@oownahcohc
Copy link

oownahcohc commented Nov 27, 2023

전체 스튜디오 조회

  • 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

@oownahcohc oownahcohc self-assigned this Nov 27, 2023
@daehwan2da
Copy link
Contributor

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

@oownahcohc
Copy link
Author

@daehwan2da

전체 스튜디오 조회

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

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

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

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

스튜디오 검색

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

@daehwan2da
Copy link
Contributor

daehwan2da commented Nov 30, 2023

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

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

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

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

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

@oownahcohc
Copy link
Author

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

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

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

No branches or pull requests

2 participants