문제
검색창 자동완성(utils/getArtistAlias.ts + hooks/useSearchSong.ts)에서 별칭을 정확히 입력해도 검색이 실패하는 경우가 있다.
① 별칭이 2개 이상 걸리면 정확히 입력해도 치환이 안 된다
치환 조건이 autoCompleteList.length === 1이라, 같은 아티스트의 별칭끼리 접두가 겹치면 후보가 2개가 되어 치환을 건너뛴다.
"원오크" → "원오크락"·"원오크" 둘 다 걸려 후보 2개 → 치환 없음
- ONE OK ROCK은 라틴 표기라
artist_ko가 비어 있어, 치환 없이 %원오크%로는 검색 결과 0건
"라르크"(→ "라르크 앙 시엘"·"라르크")도 동일
② 초성 검색이 이름 중간 공백에서 끊긴다
getChoseong('요네즈 켄시') === 'ㅇㄴㅈ ㅋㅅ'로 공백이 남는데, 사람은 초성을 붙여 친다('ㅇㄴㅈㅋㅅ'). startsWith 비교가 공백에서 실패한다. 전사된 일본 아티스트명은 대부분 "성 이름" 꼴이라 거의 전부 해당된다.
③ 공백만 입력하면 무관한 후보 10개가 뜬다
normalizedQuery가 빈 문자열이 되어 모든 후보가 startsWith('')를 통과한다.
작업 체크리스트
남은 작업 (이 이슈 범위 밖)
artistAlias에 곡 제목이 별칭으로 섞여 있다("프리텐더", "나이트댄서", "우세와" 등). 치환되면 곡 검색이 아티스트 전곡 검색으로 바뀌고, 드롭다운에 아티스트/곡 구분이 없다. 사전을 배치(packages/crawling)와 공유하므로 영향 확인 후 별도 처리 예정
- 자동완성 범위를
artistAlias 71명에서 /api/artists/search(13,869명)로 확장
문제
검색창 자동완성(
utils/getArtistAlias.ts+hooks/useSearchSong.ts)에서 별칭을 정확히 입력해도 검색이 실패하는 경우가 있다.① 별칭이 2개 이상 걸리면 정확히 입력해도 치환이 안 된다
치환 조건이
autoCompleteList.length === 1이라, 같은 아티스트의 별칭끼리 접두가 겹치면 후보가 2개가 되어 치환을 건너뛴다."원오크"→"원오크락"·"원오크"둘 다 걸려 후보 2개 → 치환 없음artist_ko가 비어 있어, 치환 없이%원오크%로는 검색 결과 0건"라르크"(→"라르크 앙 시엘"·"라르크")도 동일② 초성 검색이 이름 중간 공백에서 끊긴다
getChoseong('요네즈 켄시') === 'ㅇㄴㅈ ㅋㅅ'로 공백이 남는데, 사람은 초성을 붙여 친다('ㅇㄴㅈㅋㅅ').startsWith비교가 공백에서 실패한다. 전사된 일본 아티스트명은 대부분 "성 이름" 꼴이라 거의 전부 해당된다.③ 공백만 입력하면 무관한 후보 10개가 뜬다
normalizedQuery가 빈 문자열이 되어 모든 후보가startsWith('')를 통과한다.작업 체크리스트
useDeferredValue제거 — 목록이 한 박자 늦어handleSearch의 치환 판정과 어긋난다handleSearch의 미사용 파라미터(termOverride,typeOverride) 제거남은 작업 (이 이슈 범위 밖)
artistAlias에 곡 제목이 별칭으로 섞여 있다("프리텐더","나이트댄서","우세와"등). 치환되면 곡 검색이 아티스트 전곡 검색으로 바뀌고, 드롭다운에 아티스트/곡 구분이 없다. 사전을 배치(packages/crawling)와 공유하므로 영향 확인 후 별도 처리 예정artistAlias71명에서/api/artists/search(13,869명)로 확장