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 %}