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

Append processor

원문 보기 위키 갱신

출처: 문서

본문

이 문서는 OpenSearch 인제스트 파이프라인에서 append 프로세서를 사용하는 방법을 설명해요. 대규모 또는 복잡한 데이터셋을 다루는 경우 OpenSearch 클러스터에서 실행되는 Data Prepper add_entries 프로세서를 사용하는 것을 고려해 보세요. {: .note}

Append 프로세서

append 프로세서는 필드에 값을 추가하는 데 사용돼요.

  • 필드가 배열인 경우 append 프로세서는 지정된 값을 해당 배열에 추가해요.
  • 필드가 스칼라 필드인 경우 append 프로세서는 이를 배열로 변환하고 지정된 값을 해당 배열에 추가해요.
  • 필드가 존재하지 않는 경우 append 프로세서는 지정된 값으로 배열을 생성해요.

구문

다음은 append 프로세서의 구문이에요.

{
  "append": {
    "field": "your_target_field",
    "value": ["your_appended_value"]
  }
}

{% include copy.html %}

구성 매개변수

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

매개변수 필수/선택 설명
field 필수 추가할 데이터가 포함된 필드의 이름이에요. 템플릿 스니펫을 지원해요.
value 필수 추가할 값이에요. 정적 값이거나 기존 필드에서 파생된 동적 값일 수 있어요. 템플릿 스니펫을 지원해요.
description 선택 프로세서에 대한 간단한 설명이에요.
if 선택 프로세서 실행을 위한 조건이에요.
ignore_failure 선택 프로세서가 오류를 만나도 계속 실행할지 여부를 지정해요. true로 설정하면 실패를 무시해요. 기본값은 false예요.
allow_duplicates 선택 필드에 이미 포함된 값을 추가할지 여부를 지정해요. true이면 중복 값을 추가하고, 그렇지 않으면 건너뛰어요.
on_failure 선택 프로세서가 실패할 경우 실행할 프로세서 목록이에요.
tag 선택 프로세서의 식별 태그예요. 동일한 유형의 프로세서를 구분하기 위해 디버깅에 유용해요.

프로세서 사용하기

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

Step 1: 파이프라인 생성하기

다음 쿼리는 하나의 append 프로세서를 가진 user-behavior라는 파이프라인을 생성해요. 이 프로세서는 OpenSearch에 수집된 각 새 문서의 page_view를 event_types라는 배열 필드에 추가해요.

PUT _ingest/pipeline/user-behavior
{
  "description": "Pipeline that appends event type",
  "processors": [
    {
      "append": {
        "field": "event_types",
        "value": ["page_view"]
      }
    }
  ]
}

{% include copy-curl.html %}

Step 2 (선택 사항): 파이프라인 테스트하기

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

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

POST _ingest/pipeline/user-behavior/_simulate
{
  "docs":[
    {
      "_source":{
      }
    }
  ]
}

{% include copy-curl.html %}

응답

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

{
  "docs": [
    {
      "doc": {
        "_index": "_index",
        "_id": "_id",
        "_source": {
          "event_types": [
            "page_view"
          ]
        },
        "_ingest": {
          "timestamp": "2023-08-28T16:55:10.621805166Z"
        }
      }
    }
  ]
}

Step 3: 문서 수집하기

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

PUT testindex1/_doc/1?pipeline=user-behavior
{
}

{% include copy-curl.html %}

Step 4 (선택 사항): 문서 검색하기

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

GET testindex1/_doc/1

{% include copy-curl.html %}

문서에 event_types 필드가 없기 때문에 배열 필드가 생성되고 이벤트가 배열에 추가돼요.

{
  "_index": "testindex1",
  "_id": "1",
  "_version": 2,
  "_seq_no": 1,
  "_primary_term": 1,
  "found": true,
  "_source": {
    "event_types": [
      "page_view"
    ]
  }
}

더 알아보기 (Learn more)