기능 deep dive
Search - 검색
기꺼이
2023. 6. 5. 17:38
1. 검색
1) 기능
- 검색을 통해 사용자는 빠르게 콘텐츠를 찾을 수 있음
- 검색을 통해 텍스트 필드에 검색어를 입력하고, 관련 결과를 볼 수 있음
2) 일반적인 검색 UI 특징
- 수정 가능한 텍스트 필드
- 검색 버튼, 지우기 버튼, (선택적 : 플레이스홀더* 텍스트)
- 과거 검색어 제안, 검색어 자동 완성, 음성 입력 등
3) 일반적인 검색 이용 과정
검색 기능 선택 > 메인 화면 진입 > 검색어 입력 > 검색 결과 확인 > 결과 정렬/필터
- 검색 메인 화면 진입 : 인기 검색어나 주요 카테고리, 추천 콘텐츠 등 확인 수도 있음
- 검색 입력 박스(input field) 확인 : 에서 검색 가능한 범위와 대상 파악
- 검색어 입력
- 입력하는 과정에서 대상이 존재하는지 안내(자동완성이나 연관 키워드 등)
- 음성, 이미지, 위치 기반 등을 통한 검색 등 다양한 편의 기능 제공
- 검색어 삭제, 검색 취소
- 검색 기록 확인 : 최근 검색어 확인/삭제/전체삭제, 검색어 자동저장 켜기/끄기 등
- 검색 결과 확인
- 있는 경우 : 갯수, 유사한 검색 결과를 확인할 수 있는 방법, 필터나 정렬, 연관 키워드 등
- 없는 경우 : 명확한 피드백 + 가능한 추가 조치 제안
- (옵션 : 인기, 추천 검색어 노출)
4) 검색 기능 제공에서 고려해야 하는 요소(w/주요 pain point)
- 검색이 막막한/어려운 경우
- 콘텐츠 카테고리를 검색창 하단에 노출 : 콘텐츠 범위에 대한 정보 제공, 추가 탐색의 가능성
- 추천/인기 검색어 노출
- 최근 검색 내역 노출 : 내가 과거에 입력했던 값을 통한 검색 보조
- 플레이스 홀더 : 검색 인풋 필드에 힌트 제공, 구체적인 예시를 안내하여 검색 방향성에 대한 정보 제공(가이드 문구)
- 개인화 : 사용자 맞춤형 키워드 제공
- 검색어 입력(과정)이 불편한 경우
- 이미지/QR/바코드/음성/태그를 통한 검색 제공(필요한 서비스의 경우)
- 실시간 피드백 제공 : 연관 키워드를 검색창 아래에 제공 > 입력과 동시에 결과 알 수 있음(하이라이트 등도 참고)
- 입력 키워드가 포함된 내용 안내
- 검색 결과가 많은 경우(검색 결과 내에서 원하는 대상을 찾기 힘든 경우)
- = 관련 없는 결과가 너무 많이 표시되는 경우
- 검색 결과를 갯수로도 표현
- 탭이나 필터, 정렬, 특정 기준 제외 등 제공으로 세분화/정리가 가능하도록
- 검색 결과가 없는 경우
- 검색 결과가 없는 상태를 적절한 텍스트로 안내
- 명확한 피드백 제공 : 다른 검색어나 구체적 행동과 같이 기타 해결 방법 제시 등
- 서비스 특성을 고려하여 필요에 따라 직접 등록 요청이나 키워드 알림 등을 검토할 수 있음
5) 검색 기능 표시에 따른 분류
- persistent search
- 서비스/앱의 중심이 검색일 경우
- 툴바에 열려있는 검색 텍스트 상자를 통해 검색 시작
- 텍스트 필드 아래에 과거 검색 제안을 표시할 수 있음
- expandable search
- 검색이 주요한 초점이 아닌 경우
- 검색 아이콘을 통해 검색창에 유입
2. 권장 사항
- 검색을 안내하는 데 도움이 되는 힌트 제공하는 것 고려(유용한 정보를 제공하는 텍스트일 경우)
- 검색 필드 근처에 유용한 바로 가기 및 기타 콘텐츠 제공
- 지우기 버튼 포함
- 개인정보 보호 고려 : 검색 결과의 범위를 빠르게 좁힐 수 있는 범위 표시줄 제공하는 것 고려
- 검색 시작 시점
- 입력을 시작하자마자 검색 시작 : 지속적으로 정제된 결과 제공
- 사용자가 return 또는 enter를 선택할 때까지 기다리기 : 사용자가 입력하는 동안 최근 검색어 또는 제안한 용어 중에서 선택할 수 있는 메뉴 표시하는 것이 좋음
- 목적 검색 : 능동적으로 정보를 탐색
비목적 검색 : 수동적으로 소비하는 행위
3. 검색 기능의 구조
- 검색기 : 크롤러, 엔진, 형태소 분석기(형태소 사전)로 이루어짐
- 목표 : 사용자가 요구하는 바에 가장 적합한 데이터를 제공
키워드에 대한 요구도를 분석하는 알고리즘 개발, 튜닝을 통해 정확도를 개선 > 꾸준히 향상시키는 부분 - 검색엔진의 구성에서 검색 DB와 검색 결과를 보여주는 화면 UI가 큰 영향을 미친다.
> 결과물을 어떻게 보여줄 것인가?- 검색 결과 안내 : 검색 데이터가 몇개 나왔는가?
- 겸색 메뉴 : 탭/필터와 같은 sorting 기능, 해당한 scope에 대한 결과물만 노출
- 인기 검색어
- 검색결과 페이지 : 한 화면에 몇 개씩 노출할 것인가? 물론 검색 데이터에 따라 다름
- 서비스 마다 검색 기능의 중요성/필수 정도가 달라질 수 있다. 서비스 특성과 사용자의 이용 행태 등을 고려해야 함
ex. 실시간성이 중요한 컨텐츠 소비 vs 과거 데이터 활용이 더 빈번한 경우 등
*플레이스홀더 placeholder : 입력 필드에 힌트처럼 입력 예시를 표시해놓은 것
참고 자료 :
- Search fields
- Search
- (무료) 불편함이 낳은 UX : 검색 기능 편
- 검색 화면, 어떻게 구성하면 좋을까?
- 웹 서비스에서 검색기능 필수인가? 선택인가?
- 이커머스 이용자 76% '검색 편해야 쇼핑도 한다'
- e-커머스 서비스의 검색&카테고리 영역 분석
- 고객의 검색어 데이터로 서비스 개선하기
- 포털 검색서비스 성과 측정에 있어서 Explicit Search의 중요성
개인적인 메모 :
- 서비스에 검색 기능을 도입한다면 그 이유는?
- 문제 : 대상의 위치가 예측이나 파악이 안됨, 찾을 수 없음
- 목적 : 이용하고자 하는 대상 찾기, 정확히/빨리 찾기 위함
- 원인 : 탐색 과정에서의 불 충분함
- 해결 : 반드시 검색 정확도를 높이기만 하는 것이 최적의 해결책은 아닐 수 있음
- 서비스 마다 사용자가 검색을 하게 되는 동기가 조금씩 차이가 있을 수 있음 > 서비스의 scale이나 방향이 달라짐
특히 웹/앱에서의 검색은 차이가 있음. web에서는 보다 고차원의 검색 process를 시도해볼 수 있다고 생각함(마우스 키보드로 정교한 조작이 가능/화면이 넓음), app에서는 좀 더 간단한 action으로 목표에 도달해야 하는 제약이 있음
ex) 메뉴 찾기 어려워서, 정보 찾기 어려워서, 포털과 같이 서비스 주요 목적이 검색인 경우 등등 - 검색서비스의 방향성은? 목표의 우선순위 설정
정확성, 개인 맞춤형, 속도, .... - 검색 기능 개선과 그 효과를 어떻게 측정할 수 있을까?