JSCODE Logo
프로그래밍 과외블로그후기멘토진
회사명 : JSCODE대표 : 박재성사업자 등록번호 : 244-22-01557통신판매업 : 제 2023-인천미추홀-0381 호
학원 명칭 : 제이에스코드(JSCODE)원격학원학원설립ㆍ운영 등록번호 : 제6063호

서울특별시 구로구 경인로 20가길 11(오류동, 아델리아)

Copyright ⓒ 2025 JSCODE - 최상위 현업 개발자들의 프로그래밍 교육 All rights reserved.

이용약관개인정보처리방침
← 블로그 목록으로 돌아가기

프로젝트 설명 / 요구 사항 (상품 검색 기능, 자동 완성 기능)

JSCODE 박재성
JSCODE 박재성
2025-12-06
author
JSCODE 박재성
category
Elasticsearch
createdAt
Dec 6, 2025
series
실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
slug
project-description
type
post
updatedAt
Dec 6, 2025 04:48 AM
👨🏻‍🏫
지금까지 배운 Elasticsearch의 기능을 활용해 쿠팡의 상품 검색 기능을 구현해보자.

✅ 프로젝트 설명

elasticsearch-coupang-project
JSCODE-EDU • Updated Aug 4, 2025
Spring boot(gradle), Spring Data JPA, MySQL을 활용해 아래 API를 가진 서버를 운영하고 있었다고 가정하자.
  • 상품 전체 조회 API
  • 상품 등록 API
  • 상품 삭제 API
 
그런데 기획자가 검색 기능과 검색어 자동 완성 기능을 구현해달라고 요청한 것이다. 기존 프로젝트에서 검색 기능과 검색어 자동 완성 기능을 구현해야 하는데 MySQL로는 한계가 있어 Elasticsearch를 활용하기로 결정한 상황이라고 하자.
 
기획자의 구체적인 요구 사항은 다음과 같다.
 
 

✅ 요구 사항

  1. 검색 기능
    1. 검색을 했을 때 상품명, 상품 설명, 카테고리명을 기반으로 관련된 상품을 검색해야 한다.
      상품명 : 상품 설명 : 카테고리명의 score 가중치를 3 : 1 : 2로 설정하기
      대소문자 구분없이 검색할 수 있어야 한다.
      단어의 순서에 상관없이 검색할 수 있어야 한다.
      • ex) 삼성 노트북이라는 상품을 노트북 삼성이라고 검색해도 조회가 되야 한다.
      상품 설명에 HTML 태그가 섞여서 저장되어 있는데, 검색할 때는 HTML 태그로 검색되지 않아야 한다.
      한글, 영어 둘 다 검색이 잘 돼야 한다.
      상품명에 대해서는 아래 값을 동의어로 인식할 수 있어야 한다.
      samsung, 삼성 apple, 애플 노트북, 랩탑, 컴퓨터, computer, laptop, notebook 전화기, 휴대폰, 핸드폰, 스마트폰, 휴대전화, phone, smartphone, mobile phone, cell phone 아이폰, iphone 맥북, 맥, macbook, mac
      카테고리, 가격으로 필터링을 할 수 있어야 한다.
      • 특정 카테고리 내에서만 검색할 수 있어야 한다.
      • 특정 가격 범위 내에서만 검색할 수 있어야 한다.
      되도록이면 검색 결과 중 평점이 4.0이 넘는 상품을 상위에 노출시킬 수 있도록 한다.
      검색어에 어느 정도 오타가 있더라도 유사한 상품을 조회할 수 있어야 한다.
      • ex) samsung notebook이라는 상품을 simsung notebook이라고 검색해도 조회가 되야 한다.
      상품명에서 일치하는 검색 키워드는 하이라이팅 처리( <b></b>)를 해야 한다.
      상품이 5개씩 조회되도록 페이지네이션 해야 한다.
       
  1. 자동 완성 기능
    1. 상품명으로만 자동 완성이 되도록 해야 한다.
      자동 완성 결과가 5개만 조회되도록 설정해야 한다.
 
 
 
author
JSCODE 박재성
category
Elasticsearch
createdAt
Dec 6, 2025
series
실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
slug
type
series-footer
updatedAt
Dec 6, 2025 05:12 AM
📎
이 글은 실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편) 강의의 수업 자료 중 일부입니다.