검색 기능과 검색어 자동 완성 기능을 구현해달라고 요청한 것이다. 기존 프로젝트에서 검색 기능과 검색어 자동 완성 기능을 구현해야 하는데 MySQL로는 한계가 있어 Elasticsearch를 활용하기로 결정한 상황이라고 하자.기획자의 구체적인 요구 사항은 다음과 같다.
상품명, 상품 설명, 카테고리명을 기반으로 관련된 상품을 검색해야 한다. 삼성 노트북이라는 상품을 노트북 삼성이라고 검색해도 조회가 되야 한다. 상품 설명에 HTML 태그가 섞여서 저장되어 있는데, 검색할 때는 HTML 태그로 검색되지 않아야 한다.상품명에 대해서는 아래 값을 동의어로 인식할 수 있어야 한다. samsung, 삼성 apple, 애플 노트북, 랩탑, 컴퓨터, computer, laptop, notebook 전화기, 휴대폰, 핸드폰, 스마트폰, 휴대전화, phone, smartphone, mobile phone, cell phone 아이폰, iphone 맥북, 맥, macbook, mac
samsung notebook이라는 상품을 simsung notebook이라고 검색해도 조회가 되야 한다. 상품명에서 일치하는 검색 키워드는 하이라이팅 처리( <b></b>)를 해야 한다.상품명으로만 자동 완성이 되도록 해야 한다.