Bytes processor
출처: 문서
본문
Bytes 프로세서
bytes 프로세서는 사람이 읽을 수 있는 바이트 값을 바이트 단위의 동등한 값으로 변환합니다. 필드는 스칼라 또는 배열일 수 있습니다. 필드가 스칼라인 경우 값이 변환되어 필드에 저장됩니다. 필드가 배열인 경우 배열의 모든 값이 변환됩니다.
구문
다음은 bytes 프로세서의 구문입니다:
{
"bytes": {
"field": "your_field_name"
}
}
{% include copy.html %}
구성 파라미터
다음 표는 bytes 프로세서의 필수 및 선택적 파라미터를 나열합니다.
| 파라미터 | 필수/선택 | 설명 |
|---|---|---|
field |
필수 | 변환할 데이터가 포함된 필드의 이름입니다. 템플릿 스니펫을 지원합니다. |
description |
선택 | 프로세서에 대한 간단한 설명입니다. |
if |
선택 | 프로세서 실행 조건입니다. |
ignore_failure |
선택 | 프로세서가 오류를 만나도 계속 실행할지 여부를 지정합니다. true로 설정하면 실패를 무시합니다. 기본값은 false입니다. |
ignore_missing |
선택 | 프로세서가 지정된 필드가 없는 문서를 무시할지 여부를 지정합니다. true로 설정하면 필드가 없거나 null인 경우 문서를 수정하지 않습니다. 기본값은 false입니다. |
on_failure |
선택 | 프로세서가 실패할 경우 실행할 프로세서 목록입니다. |
tag |
선택 | 프로세서의 식별 태그입니다. 동일한 유형의 프로세서를 구분하는 데 유용합니다. |
target_field |
선택 | 구문 분석된 데이터를 저장할 필드의 이름입니다. 지정하지 않으면 field 필드에 그대로 저장됩니다. 기본값은 field입니다. |
프로세서 사용
파이프라인에서 프로세서를 사용하려면 다음 단계를 따르세요.
1단계: 파이프라인 생성
다음 쿼리는 bytes 프로세서 하나가 있는 file_upload라는 파이프라인을 생성합니다. file_size를 바이트 단위로 변환하여 file_size_bytes라는 새 필드에 저장합니다.
PUT _ingest/pipeline/file_upload
{
"description": "Pipeline that converts file size to bytes",
"processors": [
{
"bytes": {
"field": "file_size",
"target_field": "file_size_bytes"
}
}
]
}
{% include copy-curl.html %}
2단계(선택 사항): 파이프라인 테스트
문서를 수집하기 전에 파이프라인을 테스트하는 것이 좋습니다. {: .tip}
파이프라인을 테스트하려면 다음 쿼리를 실행하세요:
POST _ingest/pipeline/file_upload/_simulate
{
"docs": [
{
"_index": "testindex1",
"_id": "1",
"_source": {
"file_size_bytes": "10485760",
"file_size":
"10MB"
}
}
]
}
{% include copy-curl.html %}
응답
다음 응답은 파이프라인이 예상대로 작동하고 있음을 확인합니다:
{
"docs": [
{
"doc": {
"_index": "testindex1",
"_id": "1",
"_source": {
"event_types": [
"event_type"
],
"file_size_bytes": "10485760",
"file_size": "10MB"
},
"_ingest": {
"timestamp": "2023-08-22T16:09:42.771569211Z"
}
}
}
]
}
3단계: 문서 수집
다음 쿼리는 testindex1이라는 인덱스에 문서를 수집합니다:
PUT testindex1/_doc/1?pipeline=file_upload
{
"file_size": "10MB"
}
{% include copy-curl.html %}
4단계(선택 사항): 문서 검색
문서를 검색하려면 다음 쿼리를 실행하세요:
GET testindex1/_doc/1
{% include copy-curl.html %}