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

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

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

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

특정 조건을 만족하지 않는 데이터를 조회하고 싶을 때 (bool : must_not)

JSCODE 박재성
JSCODE 박재성
1970. 01. 01.
author
JSCODE 박재성
category
Elasticsearch
createdAt
Dec 6, 2025 04:20 AM
isPublic
series
실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
slug
must-not-search
type
post
updatedAt

✅ 특정 조건을 만족하지 않는 데이터를 조회하고 싶을 때 (bool : must_not)

[사전 셋팅]
// 기존 인덱스 삭제 DELETE /boards // 인덱스 생성 PUT /boards { "mappings": { "properties": { "board_id": { "type": "long" }, "title": { "type": "text", // 유연한 검색이 필요하므로 text 타입으로 선언 "analyzer": "nori" // 한글 데이터를 토큰으로 정확하게 나누기 위해 }, "category": { "type": "keyword" // 유연한 검색이 필요없으므로 keyword 타입으로 선언 }, "is_notice": { // (공지글 여부) "type": "boolean" }, "created_at": { "type": "date" } } } } // 데이터 삽입 POST /boards/_doc { "board_id": 1, "title": "엘라스틱서치는 정말 강력한 검색엔진이에요", "category": "자유 게시판", "is_notice": false, "created_at": "2025-05-01T12:00:00" } POST /boards/_doc { "board_id": 2, "title": "이벤트 참여 방법 안내드립니다", "category": "광고 게시판", "is_notice": false, "created_at": "2025-05-02T10:30:00" } POST /boards/_doc { "board_id": 3, "title": "익명으로 질문하고 답변 받을 수 있어요", "category": "익명 게시판", "is_notice": true, "created_at": "2025-05-03T08:20:00" }
 
 
[검색 쿼리 사용해보기]
광고 게시판의 글이 아니면서, 공지 글이 아니면서, 검색엔진의 키워드와 관련된 게시글을 조회하고 싶다고 가정하자.
// 방법 1 GET /boards/_search { "query": { "bool": { "must": [ { "match": { "title": "검색엔진" } } // 유연한 검색이 필요 (must) ], "filter": [ { "term": { "is_notice": false } } // 정확한 검색이 필요 (filter) ], "must_not": [ { "term": { "category": "광고 게시판" } } ] } } } // 방법 2 GET /boards/_search { "query": { "bool": { "must": [ { "match": { "title": "검색엔진" } } // 유연한 검색이 필요 (must) ], "must_not": [ { "term": { "category": "광고 게시판" } }, { "term": { "is_notice": true } } ] } } }
쿼리를 실행시켜보면 원하는 값이 출력된다.
 
 
👨🏻‍🏫
지금까지 bool 쿼리 중 filter, must, must_not에 대해 알아봤다. 다음 강의에서는 마지막으로 bool 쿼리의 should에 대해 알아보자.
 
author
JSCODE 박재성
category
Elasticsearch
createdAt
Dec 6, 2025 03:54 AM
isPublic
series
실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
slug
type
series-footer
updatedAt
📎
이 글은 실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편) 강의의 수업 자료 중 일부입니다.