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

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

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

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

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

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

✅ 특정 조건을 만족하지 않는 데이터를 조회하고 싶을 때 (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
series
실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
slug
type
series-footer
updatedAt
Dec 6, 2025 05:12 AM
📎
이 글은 실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편) 강의의 수업 자료 중 일부입니다.