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

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

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

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

특정 조건을 만족하는 데이터 위주로 상위 노출 시키고 싶을 때 (bool : should)

JSCODE 박재성
JSCODE 박재성
2025-12-06
author
JSCODE 박재성
category
Elasticsearch
createdAt
Dec 6, 2025
series
실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
slug
bool-should-search
type
post
updatedAt
Dec 6, 2025 04:48 AM

✅ bool 쿼리의 should는 언제 어떻게 쓰일까?

bool 쿼리에서 must와 filter는 반드시 조건을 만족하는 데이터만 조회되지만, should는 조건을 만족하지 않는 데이터도 조회되기도 한다. 다만, should의 조건을 충족시키는 데이터일 경우 score(점수)에 가산점을 부여해 상위 노출될 가능성이 높아진다. 그래서 must, filter는 ‘무조건’의 느낌이지만 should는 ‘있으면 좋고, 아니면 말고’의 느낌이다.
 
그럼 should는 언제 쓸까?
실제 우리가 사용하고 있는 많은 서비스에서 should 기능이 많이 활용되고 있다. 여러 예시를 살펴보자.
 
[사례 1]
고객이 쇼핑몰에서 "노트북"을 검색했을 때, 우리는 다음 조건을 만족하는 상품을 상위에 노출시키고 싶은 경우
  • 최근 출시된 제품
  • 평점이 높은 제품
  • 특정 브랜드(예: Apple)
하지만, 이 조건을 필수로 강제하진 않고 만족하면 가산점을 부여하기
 
[사례 2]
사용자가 “백엔드 개발자”를 검색했을 때, 우리는 다음 조건을 만족하는 공고를 더 상위에 노출시키고 싶은 경우
  • 원격 근무 가능
  • 연봉 6,000만 원 이상
  • 유명 기업(예: 네이버, 카카오, 당근)
이 조건은 필수는 아니고, 만족하면 더 매력적인 공고이므로 should로 가산점만 줍니다.
 
[사례 3]
사용자가 네이버에서 "챗GPT"로 블로그를 검색했을 때, 우리는 다음 조건을 만족하는 글을 더 상위에 노출시키고 싶은 경우
  • 제목에 "챗GPT"가 포함된 글
  • 작성일이 최근일수록
  • 좋아요 수가 많은 글
이 조건들을 should로 설정해 더 좋은 글을 먼저 보여주는 전략이다.
 
 
👨🏻‍🏫
그럼 다음 강의에서 이 내용을 실습하면서 직접 눈으로 확인해보자.
 
 
 
 
author
JSCODE 박재성
category
Elasticsearch
createdAt
Dec 6, 2025
series
실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
slug
type
series-footer
updatedAt
Dec 6, 2025 05:12 AM
📎
이 글은 실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편) 강의의 수업 자료 중 일부입니다.