특정필드에 값이 존재하는 지 확인하는 exists query

개발새발·2023년 1월 1일
0

elasticsearch

목록 보기
40/54

가끔 특정 필드에 존재하는 값이 있는지 확인할 경우 exists 쿼리를 사용하는데, 이것도 정리해뒀는지 알았는데 아니였네.. ㅠㅠ

📮쿼리문

쿼리문은 무척 심플하다!

{
  "query": {
    "bool": {
      "must": [
        {
          "exists": {
            "field": "{필드명}"
          }
        }
      ]
    }
  }
}

이때, 존재하지 않는 필드명을 검색하려면, mustmust_not 으로 변경해주면 된다.

그런데, nested type인 필드도 동일하게 검색하려고 했더니 안되는 게 아닌가.. ㅠㅠ nested type의 경우 쿼리문은 아래와 같다.

※ nested type

{
    "query": {
        "nested": {
            "path": "{필드명}",
            "query": {
                "bool": {
                    "must": [
                        {
                            "exists": {
                                "field": "{필드명}" 또는 "{필드명.nested type object 안에 필드명}"
                            }
                        }
                    ]
                }
            }
        }
    }
}
profile
발새발개

0개의 댓글