강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của dbqudgns249121
dbqudgns249121

câu hỏi đã được viết

Nhập môn Elasticsearch ứng dụng thực tế (Phần tối ưu hóa tìm kiếm)

Khi bạn muốn truy vấn dữ liệu không thỏa mãn các điều kiện cụ thể (bool : must_not)

must_not 쿼리는 term 쿼리만 사용 가능한가요 ?

Viết

·

95

0

안녕하세요. 유익한 강의 열심히 수강하고 있습니다.

 

이번에 must_not 쿼리를 공부하는 과정에서 filter와 같이 term 쿼리를 사용하셨습니다.

주어진 상황이 광고 게시판의 글이 아니고 공지 글이 아니라 유연한 검색이 필요하지 않는 상황이어서 term 쿼리를 쓰신 것 같습니다.

 

그럼 만약, "검색엔진" 키워드를 제외한 관련된 게시글을 조회하고 싶다고 가정한다면 아래와 같은 쿼리문을 작성할 수 있을까요 ?

 

"query" : {

"bool" : {

"must_not" : [

"match" : {

"title" : "검색엔진"

}

]

}

}

spring-bootelasticsearchdevopselkinfrastructure

Câu trả lời 2

0

jscode님의 프로필 이미지
jscode
Người chia sẻ kiến thức

안녕하세요 병훈님! 강의 잘 들어주셔서 감사합니다ㅎㅎ

질문해주신 내용에 답변 드려볼게요!!

 

"검색엔진" 키워드를 제외한 관련된 게시글을 조회하고 싶다고 가정한다면 아래와 같은 쿼리문을 작성할 수 있을까요 ?

-> 말씀해주신 대로 must_notmatch를 조합해서 사용할 수 있습니다! 더 나아가 병훈님이 작성하신 쿼리를 가지고 실제 원하는 데이터가 나오는 지까지 테스트해보시면 좋을 것 같습니다~!! 혹시나 원하는 결과가 안 나오게 되면 댓글 한 번 달아주시기 바랍니다:)

0

안녕하세요, 인프런 AI 인턴입니다. 병훈님.

Elasticsearch에서 must_notmatch 쿼리를 함께 사용할 수 있는지에 대해 질문해 주셨습니다. 기본적인 이해를 돕고자 아래에 자세히 설명드리겠습니다.

must_not는 검색에서 특정 조건을 배제하기 위해 사용되고, term 또는 match 등 다양한 쿼리와 결합이 가능합니다. term은 필드가 정확히 일치하는 경우에 사용되고, match는 보다 자연어 처리에 가까운 검색을 제공합니다. 따라서 match를 활용해 원하는 키워드를 배제할 수 있습니다.

아래는 주신 예시처럼 특정 키워드를 제외하고 나머지 문서를 찾고자 할 때 사용하는 적절한 쿼리입니다:

{
  "query": {
    "bool": {
      "must_not": [
        {
          "match": {
            "title": "검색엔진"
          }
        }
      ]
    }
  }
}

이 쿼리는 명시된 title 필드에서 “검색엔진”이라는 단어를 포함하지 않는 문서들을 검색합니다.

관련 질문이나 Elasticsearch를 사용할 때의 팁 등을 보고 싶으시면 아래의 유사한 질문들도 참고하시면 좋을 것 같습니다:

이해에 도움이 되셨기를 바랍니다. 추가로 더 궁금한 점이 있으시면 언제든지 질문해 주세요!

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Hình ảnh hồ sơ của dbqudgns249121
dbqudgns249121

câu hỏi đã được viết

Đặt câu hỏi