본문 바로가기
WIKI 기술 지식 베이스

Set processor

원문 보기 위키 갱신

출처: 문서

본문

Set 프로세서

set 프로세서는 문서에서 필드를 추가하거나 업데이트해요. 하나의 필드를 설정하고 지정된 값과 연결해요. 필드가 이미 존재하면 override 매개변수가 false로 설정되지 않은 한 해당 값이 제공된 값으로 대체돼요. override가 false이고 지정된 필드가 존재하면 필드의 값은 변경되지 않고 유지돼요.

다음은 set 프로세서의 구문이에요:

{
  "description": "...",
  "processors": [
    {
      "set": {
        "field": "new_field",
        "value": "some_value"
      }
    }
  ]
}

{% include copy.html %}

구성 매개변수

다음 표는 set 프로세서의 필수 및 선택적 매개변수를 보여줘요.

매개변수 필수/선택 설명
field 필수 설정하거나 업데이트할 필드의 이름이에요. 템플릿 스니펫을 지원해요.
value 필수 필드에 할당되는 값이에요. 템플릿 스니펫을 지원해요.
override 선택 프로세서가 필드의 기존 값을 재정의해야 하는지 여부를 결정하는 부울 플래그예요.
ignore_empty_value 선택 프로세서가 null 값이나 빈 문자열을 무시해야 하는지 여부를 결정하는 부울 플래그예요. 기본값은 false예요.
description 선택 프로세서의 목적이나 구성에 대한 설명이에요.
if 선택 프로세서를 조건부로 실행하도록 지정해요.
ignore_failure 선택 프로세서 실패를 무시하도록 지정해요. 파이프라인 실패 처리를 참조하세요.
on_failure 선택 실행 중 프로세서가 실패할 경우 실행할 프로세서 목록을 지정해요. 이 프로세서들은 지정된 순서대로 실행돼요.
tag 선택 프로세서의 식별 태그예요. 동일한 유형의 프로세서를 구분하기 위해 디버깅에 유용해요.

프로세서 사용하기

파이프라인에서 프로세서를 사용하려면 다음 단계를 따라요.

1단계: 파이프라인 생성

다음 쿼리는 set 프로세서를 사용하여 문서에 new_field라는 새 필드를 some_value 값으로 추가하는 set-pipeline이라는 파이프라인을 생성해요.

PUT _ingest/pipeline/set-pipeline
{
  "description": "Adds a new field 'new_field' with the value 'some_value'",
  "processors": [
    {
      "set": {
        "field": "new_field",
        "value": "some_value"
      }
    }
  ]
}

{% include copy-curl.html %}

2단계(선택 사항): 파이프라인 테스트

문서를 수집하기 전에 파이프라인을 테스트하는 것이 좋아요. {: .tip}

파이프라인을 테스트하려면 다음 쿼리를 실행해요.

POST _ingest/pipeline/set-pipeline/_simulate
{
  "docs": [
    {
      "_source": {
        "existing_field": "value"
      }
    }
  ]
}

{% include copy-curl.html %}

응답

다음 예제 응답은 파이프라인이 예상대로 작동하고 있음을 확인해요.

{
  "docs": [
    {
      "doc": {
        "_index": "_index",
        "_id": "_id",
        "_source": {
          "existing_field": "value",
          "new_field": "some_value"
        },
        "_ingest": {
          "timestamp": "2024-05-30T21:56:15.066180712Z"
        }
      }
    }
  ]
}

{% include copy-curl.html %}

3단계: 문서 수집

다음 쿼리는 testindex1이라는 인덱스에 문서를 수집해요.

POST testindex1/_doc?pipeline=set-pipeline
{
  "existing_field": "value"
}

{% include copy-curl.html %}

응답

요청은 문서를 testindex1 인덱스에 인덱싱한 다음 new_field가 some_value로 설정된 모든 문서를 인덱싱해요. 다음 응답에서 확인할 수 있어요.

{
  "_index": "testindex1",
  "_id": "1",
  "_version": 1,
  "result": "created",
  "_shards": {
    "total": 2,
    "successful": 1,
    "failed": 0
  },
  "_seq_no": 0,
  "_primary_term": 1
}

{% include copy-curl.html %}

4단계(선택 사항): 문서 검색

문서를 검색하려면 다음 쿼리를 실행해요.

GET testindex1/_doc/1

{% include copy-curl.html %}

더 알아보기 (Learn more)