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

Pipeline processor

원문 보기 위키 갱신

출처: 문서

본문

파이프라인 프로세서

pipeline 프로세서는 파이프라인이 다른 미리 정의된 파이프라인을 참조하고 포함할 수 있게 해줍니다. 이는 여러 파이프라인에서 공유해야 하는 공통 프로세서 집합이 있을 때 유용합니다. 각 파이프라인에서 해당 공통 프로세서를 다시 정의하는 대신, 공유 프로세서를 포함하는 별도의 기본 파이프라인을 만든 다음 pipeline 프로세서를 사용하여 다른 파이프라인에서 해당 기본 파이프라인을 참조할 수 있습니다.

다음은 pipeline 프로세서의 구문입니다.

{
  "pipeline": {
    "name": "general-pipeline"
  }
}

{% include copy.html %}

구성 파라미터

다음 표는 pipeline 프로세서의 필수 및 선택 파라미터를 보여줍니다.

파라미터 필수/선택 설명
name 필수 실행할 파이프라인의 이름입니다.
description 선택 프로세서의 목적이나 구성에 대한 설명입니다.
if 선택 프로세서를 조건부로 실행하도록 지정합니다.
ignore_failure 선택 프로세서 실패를 무시하도록 지정합니다. 파이프라인 실패 처리를 참조하세요.
on_failure 선택 프로세서 실패를 처리하도록 지정합니다. 파이프라인 실패 처리를 참조하세요.
tag 선택 프로세서의 식별자입니다. 디버깅 및 메트릭에 유용합니다.

프로세서 사용하기

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

1단계: 파이프라인 생성

다음 쿼리는 general-pipeline이라는 일반 파이프라인을 만든 다음 general-pipeline을 참조하는 outer-pipeline이라는 새 파이프라인을 생성합니다.

PUT _ingest/pipeline/general_pipeline  
{  
  "description": "a general pipeline",  
  "processors": [  
    {  
      "uppercase": {  
        "field": "protocol"  
      },  
      "remove": {  
        "field": "name"  
      }  
    }  
  ]  
}

{% include copy-curl.html %}

PUT _ingest/pipeline/outer-pipeline  
{  
  "description": "an outer pipeline referencing the general pipeline",  
  "processors": [  
    {  
      "pipeline": {  
        "name": "general-pipeline"  
      }  
    }  
  ]  
}

{% include copy-curl.html %}

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

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

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

POST _ingest/pipeline/outer-pipeline/_simulate
{  
  "docs": [  
    {  
      "_source": {  
        "protocol": "https",  
        "name":"test"  
      }  
    }  
  ]  
}  

{% include copy-curl.html %}

응답

다음 예시 응답은 파이프라인이 예상대로 작동하고 있음을 확인합니다.

{  
  "docs": [  
    {  
      "doc": {  
        "_index": "_index",  
        "_id": "_id",  
        "_source": {  
          "protocol": "HTTPS"  
        },  
        "_ingest": {  
          "timestamp": "2024-05-24T02:43:43.700735801Z"  
        }  
      }  
    }  
  ]  
}

{% include copy-curl.html %}

3단계: 문서 수집

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

POST testindex1/_doc/1?pipeline=outer-pipeline  
{  
  "protocol": "https",  
  "name": "test"  
}  

{% include copy-curl.html %}

응답

요청은 다음 응답과 같이 protocol 필드를 대문자로 변환하고 testindex1 인덱스에서 필드 이름을 제거한 문서를 인덱싱합니다.

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

{% include copy-curl.html %}

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

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

GET testindex1/_doc/1

{% include copy-curl.html %}

응답

응답은 protocol 필드가 대문자로 변환되고 필드 이름이 제거된 문서를 보여줍니다.

{  
  "_index": "testindex1",  
  "_id": "1",  
  "_version": 2,  
  "_seq_no": 1,  
  "_primary_term": 1,  
  "found": true,  
  "_source": {  
    "protocol": "HTTPS"  
  }  
}  

더 알아보기 (Learn more)