Programming/기타

Google의 검색 자동완성에 대해..

armyost 2023. 10. 14. 21:40
728x90

Google 검색창의 특징은 다음과 같다.

 

1) 작성중인 초성은 검색포함. (초성만 나열했을때는 영문으로 인식)

2) 자동완성(=자동추천) 제공

3) 고유명사, 인물의 경우 이미지도 같이 노출

4) 검색 History도 제공하며, 검색일치하는 내용 또한 제공

 

각 구현 현황에 대해 다음과 같이 확인되었다.

 

1), 2) 아래 autoComplete API로 검색한 결과 JSON 타입으로 다음과 같은 Suggestion이 발생했다.

suggestqueries.google.com/complete/search?output=toolbar&hl=ko&q=김ㄱ

2) 초성 자동완성 시 무언가의 알고리즘을 추천이 뜨는것으로 보아, 애초에 검색된 Word List에 Weight(가중치)가 있을 것이다.

예를들어 "김ㄱ"은 [김건희, 김가영,...]

이걸 Google에서 갖고있는 SearchedWord List에서 Weight를 가지고 탐색 후 Return하는 것으로 보인다. 

다만, 매번 재탐색하게 되면 리소스 비용이 어마할 것이므로, Redis 등의 Cache를 사용하여 누군가 한번 하게되면 캐싱되거나 하지 않을까 싶다. 

이게 아니라면, 모든 Case에 대한 List를 갖고 있어야하는데, 이게 기술적으로 가능하려나..

 

3) CDN서버에서 이미지 그대로 받아온다.

4) 이 부분은 메인화면 노출시에 호출하는 것인지 로그인 이후에 호출하는 것인지는 모르겠으나, History 정보를 서버에서 일괄 받아두고, 사용자가 검색할때 같이 노출시킨다.