ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Elasticsearch bool 쿼리
    내가 공부하고 싶은 IT/지식정리 2023. 1. 1. 20:55

    bool 쿼리 다른 쿼리들을 조합하여 결과와 score 들을 결합하거나 동작을 변경함. 즉 bool 하위의 여러 쿼리들을 결합하여 결과를 낼때 사용함
    bool 은 query 와 filter 에서의 동작이 상이함. query로 사용할 때는 score 가 결합되어 일치하는 절일 많을 수록 더 좋음

     

    bool의 기본 쿼리

    • must: 모든 필터가 매치되어야 함(and)
    • filter: 이전 포스팅에서 설명한 filter 와 동작은 동일. score를 무시하고 결과가 캐싱됨
    • should: minimum_should_match 개의 필터에 매치되어야 함 (or)
      • minimum_should_match
        must 또는 filter 같이 사용되면 기본값이 0, score에 영향만 줌
        단독으로 사용시 기본값이 1
    • must_not: 문서가 필터에 매치되지 않아야 함(not). filter 절에서 실행되며 filter 와 같이 score를 무시하고 결과가 캐싱됨

    예)

    GET /cn-test-idx/_search
    {
      "query": {
        "bool": {
          "should": [
            {
              "match": {
                "kor_contents": "자비스"
              }
            },
            {
              "match": {
                "kor_contents": "여러"
              }
            }
          ],
          "minimum_should_match": 1,
          "filter": [
            {
              "term": {
                "keyword_field": "1번"
              }
            }
          ]
        }
      }
    }

    위 쿼리는 아래의 쿼리와 결과가 같다.

    GET /cn-test-idx/_search
    {
      "query": {
        "bool": {
          "must": {
            "bool": {
              "should": [
                {
                  "match": {
                    "kor_contents": "자비스"
                  }
                },
                {
                  "match": {
                    "kor_contents": "여러"
                  }
                }
              ]
            }
          },
          "filter": [
            {
              "term": {
                "keyword_field": "1번"
              }
            }
          ]
        }
      }
    }

    '내가 공부하고 싶은 IT > 지식정리' 카테고리의 다른 글

    2022년 회고  (1) 2023.01.30
    Elasticsearch term & match  (0) 2023.01.01
    Elasticsearch DSL 기본  (0) 2023.01.01
    Elasticsearch Inverted Index 의 이해  (0) 2022.12.25
    Elasticsearch 분석기 테스트  (0) 2022.12.25
Copyright @ 2016-2020 AmazonEberea