ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 엘라스틱 서치 7 - 스크립팅
    Infra 2023. 12. 18. 20:00

    주제 7: 엘라스틱서치(Elasticsearch)에서의 스크립팅

    엘라스틱서치는 데이터 처리 과정에서 동적으로 계산을 수행할 수 있는 스크립팅 기능을 제공합니다. 이번 주제에서는 엘라스틱서치에서 스크립팅을 사용하는 방법에 대해 알아보겠습니다.

    7.1 스크립팅 개념

    엘라스틱서치의 스크립팅은 데이터 처리 과정에서 필드의 값을 동적으로 계산하거나, 쿼리의 동작 방식을 변경하는 등의 작업을 수행합니다. 스크립트는 주로 Painless라는 엘라스틱서치에서 제공하는 언어로 작성되며, 이는 성능과 보안을 최적화한 언어입니다.

    Elasticsearch Scripting

    7.2 스크립팅 실습

    7.2.1 스크립팅을 이용한 계산

    아래 예제는 'my_index'라는 인덱스에서 'price' 필드의 값에 10을 곱한 값을 계산하는 스크립팅 쿼리입니다.

    curl -X GET "localhost:9200/my_index/_search?pretty" -H 'Content-Type: application/json' -d'
    {
      "script_fields": {
        "new_price": {
          "script": {
            "source": "doc['price'].value * 10"
          }
        }
      }
    }
    '

    7.2.2 스크립팅을 이용한 쿼리

    아래 예제는 'my_index'라는 인덱스에서 'price' 필드의 값이 100보다 큰 문서를 검색하는 스크립팅 쿼리입니다.

    curl -X GET "localhost:9200/my_index/_search?pretty" -H 'Content-Type: application/json' -d'
    {
      "query": {
        "bool": {
          "filter": {
            "script": {
              "script": {
                "source": "doc['price'].value > params.price",
                "params": {
                  "price": 100
                }
              }
            }
          }
        }
      }
    }
    '

    이렇게 엘라스틱서치에서는 스크립팅을 이용하여 동적으로 계산을 수행하거나, 쿼리의 동작 방식을 변경할 수 있습니다. 다음 주제에서는 엘라스틱서치의 고급 검색 기능에 대해 알아보겠습니다.

    댓글

Paycis's