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