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

Join processor

원문 보기 위키 갱신

출처: 문서

본문

Join processor

join processor는 array의 요소들을 각 요소 사이에 지정된 separator를 사용하여 하나의 string 값으로 연결해요. 제공된 입력이 array가 아닌 경우 exception을 발생시켜요.

다음은 join processor의 구문이에요.

{
  "join": {
    "field": "field_name",
    "separator": "separator_string"
  }
}

{% include copy.html %}

구성 매개변수

다음 표는 join processor의 필수 및 선택 매개변수를 보여줘요.

매개변수 필수/선택 설명
field 필수 join 연산자가 적용되는 field의 이름이에요. 반드시 array여야 해요.
separator 필수 field 값을 결합할 때 사용할 string separator예요. 지정하지 않으면 값들이 separator 없이 연결돼요.
target_field 선택 정리된 값을 할당할 field예요. 지정하지 않으면 field가 제자리에서 업데이트돼요.
description 선택 processor의 목적이나 구성에 대한 설명이에요.
if 선택 processor를 조건부로 실행하도록 지정해요.
ignore_failure 선택 processor의 실패를 무시하도록 지정해요. 파이프라인 실패 처리에 대한 자세한 내용은 Handling pipeline failures를 참조하세요.
on_failure 선택 processor의 실패를 처리하도록 지정해요. 파이프라인 실패 처리에 대한 자세한 내용은 Handling pipeline failures를 참조하세요.
tag 선택 processor의 식별자예요. 디버깅 및 메트릭에 유용해요.

processor 사용하기

다음 단계에 따라 pipeline에서 processor를 사용하세요.

1단계: pipeline 생성하기

다음 query는 example-join-pipeline이라는 pipeline을 생성하며, join processor를 사용하여 uri field의 모든 값을 지정된 separator /로 구분하여 연결해요.

PUT _ingest/pipeline/example-join-pipeline  
{  
  "description": "Example pipeline using the join processor",  
  "processors": [  
    {  
      "join": {  
        "field": "uri",  
        "separator": "/"  
      }  
    }  
  ]  
}  

{% include copy-curl.html %}

2단계 (선택): pipeline 테스트하기

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

pipeline을 테스트하려면 다음 query를 실행하세요.

POST _ingest/pipeline/example-join-pipeline/_simulate  
{  
  "docs": [  
    {  
      "_source": {  
        "uri": [  
          "app",  
          "home",  
          "overview"  
        ]  
      }  
    }  
  ]  
}

{% include copy-curl.html %}

응답

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

{  
  "docs": [  
    {  
      "doc": {  
        "_index": "_index",  
        "_id": "_id",  
        "_source": {  
          "uri": "app/home/overview"  
        },  
        "_ingest": {  
          "timestamp": "2024-05-24T02:16:01.00659117Z"  
        }  
      }  
    }  
  ]  
}  

{% include copy-curl.html %}

3단계: 문서 수집하기

다음 query는 testindex1이라는 index에 문서를 수집해요.

POST testindex1/_doc/1?pipeline=example-join-pipeline  
{  
  "uri": [  
    "app",  
    "home",  
    "overview"  
  ]  
} 

{% include copy-curl.html %}

4단계 (선택): 문서 검색하기

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

GET testindex1/_doc/1

{% include copy-curl.html %}

더 알아보기 (Learn more)