Sort ingest processor
출처: 문서
본문
정렬 수집 프로세서
sort 프로세서는 항목 배열을 오름차순 또는 내림차순으로 정렬해요. 숫자 배열은 숫자로 정렬되고, 문자열 또는 혼합 배열(문자열과 숫자)은 사전순으로 정렬돼요. 입력이 배열이 아니면 프로세서가 오류를 발생시켜요.
다음은 sort 프로세서의 구문이에요:
{
"description": "Sort an array of items",
"processors": [
{
"sort": {
"field": "my_array_field",
"order": "desc"
}
}
]
}
{% include copy.html %}
구성 매개변수
다음 표는 sort 프로세서의 필수 및 선택 매개변수를 설명해요.
| 매개변수 | 필수/선택 | 설명 |
|---|---|---|
field |
필수 | 정렬할 필드예요. 배열이어야 해요. |
order |
선택 | 적용할 정렬 순서예요. 오름차순은 asc, 내림차순은 desc를 사용해요. 기본값은 asc예요. |
target_field |
선택 | 정렬된 배열이 저장될 필드 이름이에요. 지정하지 않으면 정렬된 배열이 원래 배열(field 변수)과 같은 필드에 저장돼요. |
description |
선택 | 프로세서의 목적이나 구성에 대한 설명이에요. |
if |
선택 | 프로세서를 조건부로 실행하도록 지정해요. |
ignore_failure |
선택 | 프로세서 실패를 무시하도록 지정해요. 파이프라인 실패 처리를 참조하세요. |
on_failure |
선택 | 실행 중 프로세서가 실패할 경우 실행할 프로세서 목록을 지정해요. 이 프로세서들은 지정된 순서대로 실행돼요. |
tag |
선택 | 프로세서의 식별 태그예요. 동일한 유형의 프로세서를 구분하는 데 유용해요. |
프로세서 사용하기
파이프라인에서 프로세서를 사용하려면 다음 단계를 따라요.
1단계: 파이프라인 생성
다음 쿼리는 sort 프로세서를 사용하여 my_field를 내림차순으로 정렬하고 정렬된 값을 sorted_field에 저장하는 sort-pipeline이라는 파이프라인을 생성해요.
PUT _ingest/pipeline/sort-pipeline
{
"description": "Sort an array of items in descending order",
"processors": [
{
"sort": {
"field": "my_array_field",
"order": "desc",
"target_field": "sorted_array"
}
}
]
}
{% include copy-curl.html %}
2단계(선택 사항): 파이프라인 테스트
문서를 수집하기 전에 파이프라인을 테스트하는 것이 좋아요. {: .tip}
파이프라인을 테스트하려면 다음 쿼리를 실행해요.
POST _ingest/pipeline/sort-pipeline/_simulate
{
"docs": [
{
"_source": {
"my_array_field": [3, 1, 4, 1, 5, 9, 2, 6, 5]
}
}
]
}
{% include copy-curl.html %}
응답
다음 예제 응답은 파이프라인이 예상대로 작동하고 있음을 확인해요.
{
"docs": [
{
"doc": {
"_index": "_index",
"_id": "_id",
"_source": {
"sorted_array": [
9,
6,
5,
5,
4,
3,
2,
1,
1
],
"my_array_field": [
3,
1,
4,
1,
5,
9,
2,
6,
5
]
},
"_ingest": {
"timestamp": "2024-05-30T22:10:13.405692128Z"
}
}
}
]
}
{% include copy-curl.html %}
3단계: 문서 수집
다음 쿼리는 testindex1이라는 인덱스에 문서를 수집해요.
POST testindex1/_doc?pipeline=sort-pipeline
{
"my_array_field": [3, 1, 4, 1, 5, 9, 2, 6, 5]
}
{% include copy-curl.html %}
응답
요청은 문서를 testindex1 인덱스에 색인하고, 그런 다음 my_array_field가 내림차순으로 정렬된 모든 문서를 색인해요. 다음 응답과 같아요.
{
"_index": "testindex1",
"_id": "no-Py48BwFahnwl9KZzf",
"_version": 1,
"result": "created",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 9,
"_primary_term": 2
}
{% include copy-curl.html %}
4단계(선택 사항): 문서 검색
문서를 검색하려면 다음 쿼리를 실행해요.
GET testindex1/_doc/no-Py48BwFahnwl9KZzf
{% include copy-curl.html %}