operations element
출처: 문서
본문
operations 요소
operations 요소는 워크로드가 수행하는 OpenSearch API 작업과 해당 작업의 매개변수화 방식을 나열해요. 예를 들어, OpenSearch Benchmark가 문서를 쓸 수 있는 벤치마크 클러스터에 인덱스를 생성하는 create-index라는 작업을 정의할 수 있어요. 그런 다음 schedule 요소는 이러한 작업을 이름으로 참조하여 실행 순서를 지정해요.
bulk
bulk 작업 유형을 사용하면 bulk 요청을 작업으로 실행할 수 있어요.
사용법
다음 예시는 bulk-size가 5000인 bulk 작업 유형을 보여줘요:
{
"name": "index-append",
"operation-type": "bulk",
"bulk-size": 5000
}
{% include copy.html %}
클라이언트 간 문서 분할
여러 clients가 있을 때 OpenSearch Benchmark는 설정된 클라이언트 수에 따라 각 문서를 분할해요. 여러 clients를 사용하면 벌크 인덱스 작업이 병렬화되지만 각 문서의 수집 순서는 유지되지 않아요. 예를 들어 clients가 2로 설정된 경우, 한 클라이언트는 문서의 처음부터 인덱싱하고 다른 클라이언트는 중간부터 인덱싱해요.
여러 문서나 코퍼스가 있는 경우 OpenSearch Benchmark는 두 가지 방식으로 모든 문서를 병렬로 인덱싱하려고 시도해요:
- 각 클라이언트는 코퍼스의 다른 지점에서 시작해요. 예를 들어, 2개의 코퍼스와 5개의 클라이언트가 있는 워크로드에서 클라이언트 1, 3, 5는 첫 번째 코퍼스로 시작하고, 클라이언트 2와 4는 두 번째 코퍼스로 시작해요.
- 각 클라이언트는 여러 문서에 할당돼요. 클라이언트 1은 첫 번째 코퍼스의 첫 번째 문서의 첫 번째 분할로 시작해요. 그런 다음 두 번째 코퍼스의 첫 번째 문서의 첫 번째 분할로 이동하는 식이에요.
구성 옵션
bulk 작업을 사용자 지정하려면 다음 옵션을 사용해요.
| 파라미터 | 필수 | 유형 | 설명 |
|---|---|---|---|
bulk-size |
예 | Number | 벌크 요청에서 수집할 문서 수를 지정해요. |
ingest-percentage |
아니요 | Range [0, 100] | 인덱싱할 문서 코퍼스의 비율을 정의해요. 유효한 값은 0에서 100 사이의 숫자예요. |
corpora |
아니요 | List | 벌크 작업이 대상으로 해야 할 문서 코퍼스 이름을 정의해요. corpora 섹션에 여러 문서 코퍼스가 있고 벌크 요청 중에 모두 인덱싱하고 싶지 않은 경우에만 필요해요. |
indices |
아니요 | List | 벌크 인덱스 작업에서 사용할 인덱스를 정의해요. OpenSearch Benchmark는 일치하는 target-index가 있는 문서 파일만 선택해요. |
batch-size |
아니요 | Number | OpenSearch Benchmark가 동시에 읽는 문서 수를 정의해요. 이는 전문가 설정이며 매우 작은 벌크 크기에서 우발적인 병목 현상을 피하기 위한 것이에요. bulk-size가 1인 벤치마크를 수행하려면 더 높은 batch-size를 설정해야 해요. |
pipeline |
아니요 | String | 사용할 기존 인제스트 파이프라인을 정의해요. |
conflicts |
아니요 | String | 시뮬레이션할 인덱스 conflicts 유형을 정의해요. 지정하지 않으면 시뮬레이션되지 않아요. 유효한 값은 문서 ID를 순차적으로 증가하는 문서 ID로 대체하는 'sequential'과 문서 ID를 무작위 문서 ID로 대체하는 'random'이에요. |
conflict-probability |
아니요 | Percentage | 충돌이 있을 때 대체되는 문서의 비율을 정의해요. conflicts=sequential과 conflict-probability=0을 결합하면 OpenSearch Benchmark가 OpenSearch의 자동 ID 생성을 사용하는 대신 인덱스 ID를 직접 생성해요. 유효한 값은 0에서 100 사이의 숫자예요. 기본값은 25%예요. |
on-conflict |
아니요 | String | ID 충돌 시 OpenSearch가 index 액션을 사용할지 update 액션을 사용할지 결정해요. 기본값은 index이며, ID 충돌 시 새 인덱스를 생성해요. |
recency |
아니요 | Number | 0과 1 사이의 숫자를 사용하여 최신성을 나타내요. 1에 가까운 최신성은 충돌 ID를 더 최근 ID로 편향시켜요. 0에 가까운 최신성은 모든 ID를 ID 충돌 대상으로 고려해요. |
detailed-results |
아니요 | Boolean | 벌크 요청에 대해 더 자세한 메타데이터를 기록해요. OpenSearch Benchmark가 해당 벌크 응답을 더 자세히 분석하면 추가 오버헤드가 발생할 수 있으며, 이는 측정 결과를 왜곡할 수 있어요. OpenSearch Benchmark가 개별 벌크 요청 실패를 기록하려면 이 속성을 true로 설정해야 해요. |
timeout |
아니요 | Duration | OpenSearch가 각 액션에 대해 다음 작업의 처리를 완료할 때까지 기다리는 시간(분)을 정의해요: 자동 인덱스 생성, 동적 매핑 업데이트, 활성 샤드 대기. 기본값은 1m이에요. |
refresh |
아니요 | String | refresh Bulk API 쿼리 파라미터를 사용하는 벌크 요청에 대한 OpenSearch 새로고침 동작을 제어해요. 유효한 값은 대상 샤드를 백그라운드에서 새로고침하는 true, 영향을 받은 샤드가 새로고침될 때까지 벌크 요청을 차단하는 wait_for, 기본 새로고침 동작을 사용하는 false예요. |
메타데이터
bulk 작업은 항상 다음 메타데이터를 반환해요:
index: 영향을 받은 인덱스의 이름이에요. 인덱스를 파생할 수 없으면null을 반환해요.weight:units로 표시되는 벌크 크기의 작업에 구애받지 않는 표현이에요.unit:weight를 해석하는 데 사용되는 단위예요.success:bulk요청이 성공했는지 나타내는 불리언이에요.success-count: 요청에 대해 성공적으로 처리된 벌크 항목 수예요. 이 값은 오류가 있거나 문서에bulk-size가 지정된 경우 결정돼요.error-count: 요청에 대해 실패한 벌크 항목 수예요.took: 벌크 응답의took속성 값이에요.
detailed-results가 true이면 다음 메타데이터가 반환돼요:
ops: 작업 이름을 키(예:index,update,delete)로 하고 다양한 개수를 값으로 하는 중첩 문서예요.item-count에는 이 키에 대한 총 항목 수가 포함돼요. 또한 OpenSearch Benchmark는 각 결과에 대해 별도의 카운터를 반환해요. 예를 들어 생성된 항목 수 또는 삭제된 항목 수에 대한 결과예요.shards_histogram: 각각 두 개의 키를 가진 해시 배열이에요.item-count키에는 샤드 분포가 적용되는 항목 수가 포함돼요.shards키에는total,successful,failed샤드의 실제 분포를 가진 해시가 포함돼요.bulk-request-size-bytes: 벌크 요청 본문의 총 크기(바이트)예요.total-document-size-bytes: 벌크 요청 본문 내 모든 문서의 총 크기(바이트)예요.
create-index
create-index 작업은 Create Index API를 실행해요. 다음 두 가지 인덱스 생성 모드를 지원해요:
- 워크로드의
indices섹션에 지정된 모든 인덱스 생성 - 작업 자체 내에 정의된 특정 인덱스 하나 생성
사용법
다음 예시는 워크로드의 indices 섹션에 정의된 모든 인덱스를 생성해요. 워크로드에 정의된 모든 인덱스 설정을 사용하지만 샤드 수는 재정의해요:
{
"name": "create-all-indices",
"operation-type": "create-index",
"settings": {
"index.number_of_shards": 1
},
"request-params": {
"wait_for_active_shards": "true"
}
}
{% include copy.html %}
다음 예시는 작업 본문에 지정된 모든 인덱스 설정으로 새 인덱스를 생성해요:
{
"name": "create-an-index",
"operation-type": "create-index",
"index": "people",
"body": {
"settings": {
"index.number_of_shards": 0
},
"mappings": {
"docs": {
"properties": {
"name": {
"type": "text"
}
}
}
}
}
}
{% include copy.html %}
구성 옵션
워크로드의 indices 섹션에서 모든 인덱스를 생성할 때 다음 옵션을 사용해요.
| 파라미터 | 필수 | 유형 | 설명 |
|---|---|---|---|
settings |
아니요 | Array | 워크로드의 indices 섹션에 지정된 인덱스 설정과 병합할 추가 인덱스 설정을 지정해요. |
request-params |
아니요 | List of settings | Create Index API에서 허용하는 모든 요청 파라미터를 포함해요. OpenSearch Benchmark는 파라미터를 직렬화하지 않고 현재 상태로 전달해요. |
작업에서 단일 인덱스를 생성할 때 다음 옵션을 사용해요.
| 파라미터 | 필수 | 유형 | 설명 |
|---|---|---|---|
index |
예 | String | 인덱스 이름이에요. |
body |
아니요 | Request body | Create Index API의 요청 본문이에요. 자세한 내용은 Create Index API를 참조해요. |
request-params |
아니요 | List of settings | Create Index API에서 허용하는 모든 요청 파라미터를 포함해요. OpenSearch Benchmark는 파라미터를 직렬화하지 않고 현재 상태로 전달해요. |
메타데이터
create-index 작업은 다음 메타데이터를 반환해요:
weight: 작업으로 생성된 인덱스 수예요.unit: 항상ops이며, 워크로드 내 작업 수를 나타내요.success: 작업이 성공했는지 나타내는 불리언이에요.
delete-index
delete-index 작업은 Delete Index API를 실행해요. create-index 작업과 마찬가지로 워크로드의 indices 섹션에 있는 모든 인덱스를 삭제하거나 index 설정에 전달된 문자열을 기반으로 하나 이상의 인덱스를 삭제할 수 있어요.
사용법
다음 예시는 워크로드의 indices 섹션에 있는 모든 인덱스를 삭제해요:
{
"name": "delete-all-indices",
"operation-type": "delete-index"
}
{% include copy.html %}
다음 예시는 모든 logs_* 인덱스를 삭제해요:
{
"name": "delete-logs",
"operation-type": "delete-index",
"index": "logs-*",
"only-if-exists": false,
"request-params": {
"expand_wildcards": "all",
"allow_no_indices": "true",
"ignore_unavailable": "true"
}
}
{% include copy.html %}
구성 옵션
워크로드의 indices 섹션에 표시된 모든 인덱스를 삭제할 때 다음 옵션을 사용해요.
| 파라미터 | 필수 | 유형 | 설명 |
|---|---|---|---|
only-if-exists |
아니요 | Boolean | 기존 인덱스를 삭제할지 여부를 결정해요. 기본값은 true예요. |
request-params |
아니요 | List of settings | Create Index API에서 허용하는 모든 요청 파라미터를 포함해요. OpenSearch Benchmark는 파라미터를 직렬화하지 않고 현재 상태로 전달해요. |
index 옵션에 표시된 패턴을 기반으로 하나 이상의 인덱스를 삭제하려면 다음 옵션을 사용해요.
| 파라미터 | 필수 | 유형 | 설명 |
|---|---|---|---|
index |
예 | String | 삭제하려는 인덱스 또는 인덱스들이에요. |
only-if-exists |
아니요 | Boolean | 인덱스가 존재할 때 삭제할지 여부를 결정해요. 기본값은 true예요. |
request-params |
아니요 | List of settings | Create Index API에서 허용하는 모든 요청 파라미터를 포함해요. OpenSearch Benchmark는 파라미터를 직렬화하지 않고 현재 상태로 전달해요. |
메타데이터
delete-index 작업은 다음 메타데이터를 반환해요:
weight: 작업으로 생성된 인덱스 수예요.unit: 항상ops이며, 워크로드 내 작업 수를 나타내요.success: 작업이 성공했는지 나타내는 불리언이에요.
cluster-health
cluster-health 작업은 Cluster Health API를 실행해요. 이 API는 클러스터 상태를 확인하고 request-params에 설정된 파라미터에 따라 예상 상태를 반환해요. 예상치 못한 클러스터 상태가 반환되면 작업은 실패를 보고해요. OpenSearch Benchmark run 명령의 --on-error 옵션을 사용하여 상태 확인이 실패할 때 OpenSearch Benchmark가 어떻게 동작할지 제어할 수 있어요.
사용법
다음 예시는 log-* 인덱스에서 green 상태를 확인하는 cluster-health 작업을 생성해요:
{
"name": "check-cluster-green",
"operation-type": "cluster-health",
"index": "logs-*",
"request-params": {
"wait_for_status": "green",
"wait_for_no_relocating_shards": "true"
},
"retry-until-success": true
}
{% include copy.html %}
구성 옵션
cluster-health 작업에 다음 옵션을 사용해요.
| 파라미터 | 필수 | 유형 | 설명 |
|---|---|---|---|
index |
예 | String | 평가하려는 인덱스 또는 인덱스들이에요. |
request-params |
아니요 | List of settings | Cluster Health API에서 허용하는 모든 요청 파라미터를 포함해요. OpenSearch Benchmark는 파라미터를 직렬화하지 않고 현재 상태로 전달해요. |
메타데이터
cluster-health 작업은 다음 메타데이터를 반환해요:
weight:cluster-health작업이 평가하는 인덱스 수예요. 작업이 인덱스당 한 번 실행되므로 항상1이에요.unit: 항상ops이며, 워크로드 내 작업 수를 나타내요.success: 작업이 성공했는지 나타내는 불리언이에요.cluster-status: 현재 클러스터 상태예요.relocating-shards: 현재 다른 노드로 재배치 중인 샤드 수예요.
refresh
refresh 작업은 Refresh API를 실행해요. 이 operation은 메타데이터를 반환하지 않아요.
사용법
다음 예시는 모든 logs-* 인덱스를 새로고침해요:
{
"name": "refresh",
"operation-type": "refresh",
"index": "logs-*"
}
{% include copy.html %}
구성 옵션
refresh 작업은 다음 옵션을 사용해요.
| 파라미터 | 필수 | 유형 | 설명 |
|---|---|---|---|
index |
아니요 | String | 새로고침할 인덱스 또는 데이터 스트림의 이름이에요. |
search
search 작업은 Search API를 실행해요. 이 API를 사용해서 OpenSearch Benchmark 인덱스에서 쿼리를 실행할 수 있어요.
사용법
다음 예제는 search 작업 안에서 match_all 쿼리를 실행해요:
{
"name": "default",
"operation-type": "search",
"body": {
"query": {
"match_all": {}
}
},
"request-params": {
"_source_include": "some_field",
"analyze_wildcard": "false"
}
}
{% include copy.html %}
설정 옵션
search 작업은 다음 옵션을 사용해요.
| 매개변수 | 필수 여부 | 유형 | 설명 |
|---|---|---|---|
index |
아니요 | String | 쿼리가 대상으로 하는 인덱스 또는 데이터 스트림이에요. 이 옵션은 indices 섹션에 인덱스가 두 개 이상 있을 때만 필요해요. 그렇지 않으면 OpenSearch Benchmark가 사용할 인덱스나 데이터 스트림을 자동으로 유추해요. 워크로드의 모든 인덱스를 대상으로 쿼리하려면 "index": "_all"을 지정하세요. |
cache |
아니요 | Boolean | 쿼리 요청 캐시를 사용할지 여부를 지정해요. OpenSearch Benchmark는 값을 정의하지 않아요. 기본값은 벤치마크 대상 설정과 OpenSearch 버전에 따라 달라져요. |
request-params |
아니요 | List of settings | Search API에서 허용하는 요청 매개변수를 포함해요. |
body |
예 | Request body | 사용할 쿼리와 쿼리 매개변수를 나타내요. |
detailed-results |
아니요 | Boolean | 쿼리에 대한 더 자세한 메타데이터를 기록해요. true로 설정하면 추가 오버헤드가 발생할 수 있어 측정 결과가 왜곡될 수 있어요. 이 옵션은 scroll 쿼리와 함께 사용할 수 없어요. |
results-per-page |
아니요 | Integer | 페이지당 검색할 문서 수를 지정해요. Search API의 size 매개변수에 매핑되며, 스크롤 및 비스크롤 검색에 사용할 수 있어요. 기본값은 10이에요. |
메타데이터
다음 메타데이터는 항상 반환돼요:
weight: 작업의 '가중치'예요. 일반 쿼리는 항상1이고, 스크롤 쿼리는 검색된 페이지 수예요.unit: 가중치를 해석하는 단위예요. 일반 쿼리는ops, 스크롤 쿼리는pages예요.success: 쿼리 성공 여부를 나타내는 Boolean 값이에요.
detailed-results가 true로 설정되면 다음 메타데이터도 반환돼요:
hits: 쿼리의 총 히트 수예요.hits_relation: 히트 수가 정확한지(eq) 또는 실제 히트 수의 하한인지(gte)를 나타내요.timed_out: 쿼리가 시간 초과되었는지 여부예요. 스크롤 쿼리의 경우, 발행된 쿼리 중 하나라도 시간 초과되었으면 이 플래그는true예요.took: 쿼리 응답의took속성 값이에요. 스크롤 쿼리의 경우, 모든 쿼리 응답의took값을 합한 값이에요.
paginated-search
paginated-search 작업은 search_after 매개변수를 사용하여 페이지가 매겨진 검색 요청을 순차적으로 실행해요. search와 동일한 옵션을 허용하며, 추가로 pages 옵션을 사용해 검색할 페이지 수를 제어해요.
설정 옵션
search에 나열된 옵션 외에:
| 매개변수 | 필수 여부 | 유형 | 설명 |
|---|---|---|---|
pages |
예 | Integer | 검색할 최대 페이지 수예요. 쿼리가 요청된 페이지 수보다 적은 결과를 반환하면 작업이 일찍 종료돼요. |
메타데이터
search가 반환하는 메타데이터 외에:
pages: 검색된 총 페이지 수예요.
scroll-search
scroll-search 작업은 스크롤 검색을 실행해요. search와 동일한 옵션을 허용하며, 추가로 pages 옵션을 사용해 가져올 스크롤 페이지 수를 제어해요.
설정 옵션
search에 나열된 옵션 외에:
| 매개변수 | 필수 여부 | 유형 | 설명 |
|---|---|---|---|
pages |
예 | Integer | 검색할 최대 스크롤 페이지 수예요. 이 수에 도달하기 전에 스크롤이 소진되면 작업이 일찍 종료돼요. |
메타데이터
search가 반환하는 메타데이터 외에:
pages: 검색된 총 스크롤 페이지 수예요.
force-merge
force-merge 작업은 Force Merge API를 실행해요.
사용법
{
"name": "force-merge",
"operation-type": "force-merge",
"index": "_all",
"request-params": {
"max_num_segments": 1
}
}
{% include copy.html %}
설정 옵션
| 매개변수 | 필수 여부 | 유형 | 설명 |
|---|---|---|---|
index |
아니요 | String | 강제 병합할 인덱스예요. 생략하면 호출이 기본 클라이언트의 기본 동작으로 넘어가며, 모든 인덱스를 대상으로 해요. |
max-num-segments |
아니요 | Integer | 샤드당 세그먼트 목표 수예요. Force Merge API에 max_num_segments로 전달돼요. |
mode |
아니요 | String | polling으로 설정하면 강제 병합을 비동기적으로 실행하고 Tasks API를 폴링하여 완료될 때까지 기다려요. 생략하면 동기적으로 대기하며, 대규모 인덱스에서는 시간 초과될 수 있어요. |
poll-period |
조건부 | Number | mode가 polling일 때 필요해요: 상태 폴링 사이의 시간(초)이에요. mode: polling이 설정되었는데 이 값이 없으면 오류가 발생해요. |
request-params |
아니요 | Object | Force Merge API에 전달되는 추가 요청 매개변수예요. |
이것은 관리 작업이에요. 메트릭은 기본적으로 보고되지 않아요. include-in-reporting을 true로 설정하면 보고를 강제할 수 있어요.
index-stats
index-stats 작업은 Index Stats API를 실행해요.
사용법
{
"name": "index-stats",
"operation-type": "index-stats",
"index": "_all",
"condition": {
"path": "_all.total.merges.current",
"expected-value": 0
},
"retry-until-success": true
}
{% include copy.html %}
설정 옵션
| 매개변수 | 필수 여부 | 유형 | 설명 |
|---|---|---|---|
index |
아니요 | String | 통계를 검색할 인덱스예요. 기본값은 _all이에요. |
condition |
아니요 | Object | 응답에서 확인할 조건이에요. path(응답의 점 표기법 경로)와 expected-value를 포함해요. |
request-params |
아니요 | Object | Stats API에 전달되는 요청 매개변수예요. |
node-stats
node-stats 작업은 Nodes Stats API를 실행해요.
사용법
{
"name": "node-stats",
"operation-type": "node-stats"
}
{% include copy.html %}
설정 옵션
| 매개변수 | 필수 여부 | 유형 | 설명 |
|---|---|---|---|
request-timeout |
아니요 | Number | Nodes Stats 요청에 대한 클라이언트 측 시간 제한(초)이에요. |
vector-search
vector-search 작업은 k-NN 벡터 검색 쿼리를 실행하고, 선택적으로 결과를 실제 이웃(ground truth neighbors)과 비교하여 재현율(recall) 메트릭을 계산해요.
사용법
{
"name": "knn-search",
"operation-type": "vector-search",
"index": "vectors",
"k": 100,
"body": {
"query": {
"knn": {
"embedding": {
"vector": [0.1, 0.2, 0.3],
"k": 100
}
}
}
}
}
{% include copy.html %}
설정 옵션
| 매개변수 | 필수 여부 | 유형 | 설명 |
|---|---|---|---|
index |
예 | String | 대상 인덱스예요. 필수 항목이에요. 생략하면 기본 search 실행기에서 오류가 발생해요. |
body |
예 | Object | k-NN 쿼리를 포함하는 검색 요청 본문이에요. |
k |
아니요 | Integer | 검색할 최근접 이웃의 수예요. 재현율 계산에 사용돼요. |
detailed-results |
아니요 | Boolean | 자세한 메타데이터를 기록할지 여부예요. |
calculate-recall |
아니요 | Boolean | 실제 이웃과 비교하여 recall@k 및 recall@1을 계산할지 여부예요. 기본값은 true예요. |
neighbors |
아니요 | Array | 재현율 계산을 위한 실제 이웃 ID 배열이에요. 일반적으로 워크로드가 런타임에 제공해요. |
메타데이터
weight: 항상1이에요.unit: 항상ops예요.success: 검색 성공 여부예요.recall@k: k에서의 재현율(실제 이웃이 제공된 경우)이에요.recall@1: 1에서의 재현율(실제 이웃이 제공된 경우)이에요.
bulk-vector-data-set
bulk-vector-data-set 작업은 HDF5 또는 BigANN 데이터셋 파일에서 벡터 데이터를 벌크 인덱싱해요. 부분 실패 시 개별 문서 재시도를 지원해요.
사용법
{
"name": "bulk-vectors",
"operation-type": "bulk-vector-data-set",
"bulk-size": 500,
"index": "vectors"
}
{% include copy.html %}
설정 옵션
| 매개변수 | 필수 여부 | 유형 | 설명 |
|---|---|---|---|
bulk-size |
아니요 | Integer | 벌크 요청당 문서 수예요. |
index |
아니요 | String | 대상 인덱스예요. |
retries |
아니요 | Integer | 초기 요청 실패 후 재시도 횟수예요. 기본값은 0(재시도 없음)이에요. 실패한 각 문서는 재시도 시 다시 제출되며, 연결 시간 초과도 재시도를 트리거해요. |
retry-wait-period |
아니요 | Number | 재시도 사이의 초기 대기 시간(초)이에요. 기본값은 0.5예요. |
retry-max-wait-period |
아니요 | Number | 재시도 사이의 최대 대기 시간(초)이에요. 지수 백오프가 이 값으로 제한돼요. 기본값은 60이에요. |
detailed-results |
아니요 | Boolean | 문서별 성공/실패 메타데이터를 자세히 기록해요. 기본값은 true예요. |
action-metadata-present |
아니요 | Boolean | 벌크 본문에 액션 메타데이터 줄이 포함되어 있는지 여부예요. 기본값은 true예요. |
unit |
아니요 | String | weight에 대해 보고되는 단위예요. 기본값은 docs예요. |
put-pipeline
put-pipeline 작업은 수집 파이프라인을 생성하거나 업데이트해요.
사용법
{
"name": "define-pipeline",
"operation-type": "put-pipeline",
"id": "my-pipeline",
"body": {
"description": "My ingest pipeline",
"processors": [
{
"set": {
"field": "ingest_time",
"value": {% raw %}"{{_ingest.timestamp}}"{% endraw %}
}
}
]
}
}
{% include copy.html %}
설정 옵션
| 매개변수 | 필수 여부 | 유형 | 설명 |
|---|---|---|---|
id |
예 | String | 파이프라인 ID예요. |
body |
예 | Object | 파이프라인 정의예요. |
이것은 관리 작업이에요. 메트릭은 기본적으로 보고되지 않아요.
delete-pipeline
delete-pipeline 작업은 수집 파이프라인을 삭제해요.
설정 옵션
| 매개변수 | 필수 여부 | 유형 | 설명 |
|---|---|---|---|
id |
예 | String | 삭제할 파이프라인 ID예요. |
이것은 관리 작업이에요. 메트릭은 기본적으로 보고되지 않아요.
create-search-pipeline
create-search-pipeline 작업은 검색 파이프라인을 생성해요.
설정 옵션
| 매개변수 | 필수 여부 | 유형 | 설명 |
|---|---|---|---|
id |
예 | String | 검색 파이프라인 ID예요. |
body |
예 | Object | 검색 파이프라인 정의예요. |
이것은 관리 작업이에요. 메트릭은 기본적으로 보고되지 않아요.
update-concurrent-segment-search-settings
update-concurrent-segment-search-settings 작업은 동시 세그먼트 검색 클러스터 설정과 선택적으로 최대 슬라이스 수를 전환해요. search.concurrent_segment_search.enabled(및 search.concurrent.max_slice_count가 제공된 경우 함께)를 영구 클러스터 설정으로 업데이트해요.
설정 옵션
| 매개변수 | 필수 여부 | 유형 | 설명 |
|---|---|---|---|
enable |
아니요 | Boolean | 동시 세그먼트 검색 활성화 여부예요. 기본값은 false예요. |
max_slice_count |
아니요 | Integer | 샤드당 최대 슬라이스 수예요. 생략하면 설정이 변경되지 않은 상태로 남아요. |
put-settings
put-settings 작업은 클러스터 설정을 업데이트해요.
사용법
{
"name": "increase-watermarks",
"operation-type": "put-settings",
"body": {
"transient": {
"cluster.routing.allocation.disk.watermark.low": "95%"
}
}
}
{% include copy.html %}
설정 옵션
| 매개변수 | 필수 여부 | 유형 | 설명 |
|---|---|---|---|
body |
예 | Object | 적용할 클러스터 설정이에요. |
이것은 관리 작업이에요. 메트릭은 기본적으로 보고되지 않아요.
create-data-stream
create-data-stream 작업은 하나 이상의 데이터 스트림을 생성해요.
설정 옵션
| 매개변수 | 필수 여부 | 유형 | 설명 |
|---|---|---|---|
data-streams |
예 | List | 생성할 데이터 스트림 이름 목록이에요. |
request-params |
예 | Object | Create Data Stream API로 전달되는 요청 매개변수예요. 필요하지 않으면 빈 객체({})를 전달하세요. |
delete-data-stream
delete-data-stream 작업은 하나 이상의 데이터 스트림을 삭제해요.
설정 옵션
| 매개변수 | 필수 여부 | 유형 | 설명 |
|---|---|---|---|
data-streams |
예 | List | 삭제할 데이터 스트림 이름 목록이에요. |
only-if-exists |
예 | Boolean | true이면 존재하는 데이터 스트림만 삭제하고, false이면 각각 삭제를 시도하고 HTTP 404 응답은 무시해요. |
request-params |
예 | Object | Delete Data Stream API로 전달되는 요청 매개변수예요. 필요하지 않으면 빈 객체({})를 전달하세요. |
create-composable-template
create-composable-template 작업은 하나 이상의 구성 가능한 인덱스 템플릿을 생성해요.
설정 옵션
| 매개변수 | 필수 여부 | 유형 | 설명 |
|---|---|---|---|
templates |
예 | List | 생성할 [template-name, body] 쌍의 목록이에요. |
request-params |
예 | Object | API로 전달되는 요청 매개변수예요. 필요하지 않으면 빈 객체({})를 전달하세요. |
delete-composable-template
delete-composable-template 작업은 하나 이상의 구성 가능한 인덱스 템플릿과 선택적으로 일치하는 인덱스를 삭제합니다.
구성 옵션
| 매개변수 | 필수 | 유형 | 설명 |
|---|---|---|---|
templates |
예 | List | [template-name, delete-matching-indices, index-pattern] 세 쌍의 목록입니다. delete-matching-indices가 true이고 index-pattern이 비어 있지 않으면 패턴과 일치하는 인덱스도 삭제됩니다. |
only-if-exists |
예 | Boolean | true이면 존재하는 템플릿만 삭제하고, false이면 각 템플릿을 삭제하려 시도하고 HTTP 404 응답은 무시합니다. |
request-params |
예 | Object | API로 전달되는 요청 매개변수입니다. 필요하지 않으면 빈 객체({})를 전달하세요. |
create-component-template
create-component-template 작업은 하나 이상의 컴포넌트 템플릿을 생성합니다.
구성 옵션
| 매개변수 | 필수 | 유형 | 설명 |
|---|---|---|---|
templates |
예 | List | 생성할 [template-name, body] 쌍의 목록입니다. |
request-params |
예 | Object | API로 전달되는 요청 매개변수입니다. 필요하지 않으면 빈 객체({})를 전달하세요. |
delete-component-template
delete-component-template 작업은 하나 이상의 컴포넌트 템플릿을 삭제합니다.
구성 옵션
| 매개변수 | 필수 | 유형 | 설명 |
|---|---|---|---|
templates |
예 | List | 삭제할 컴포넌트 템플릿 이름의 목록입니다. |
only-if-exists |
예 | Boolean | true이면 존재하는 템플릿만 삭제하고, false이면 각 템플릿을 삭제하려 시도하고 HTTP 404 응답은 무시합니다. |
request-params |
예 | Object | API로 전달되는 요청 매개변수입니다. 필요하지 않으면 빈 객체({})를 전달하세요. |
create-index-template
create-index-template 작업은 하나 이상의 레거시 인덱스 템플릿을 생성합니다.
구성 옵션
| 매개변수 | 필수 | 유형 | 설명 |
|---|---|---|---|
templates |
예 | List | 생성할 [template-name, body] 쌍의 목록입니다. |
request-params |
아니오 | Object | 추가 요청 매개변수입니다. |
delete-index-template
delete-index-template 작업은 하나 이상의 레거시 인덱스 템플릿과 선택적으로 일치하는 인덱스를 삭제합니다.
구성 옵션
| 매개변수 | 필수 | 유형 | 설명 |
|---|---|---|---|
templates |
예 | List | [template-name, delete-matching-indices, index-pattern] 세 쌍의 목록입니다. |
only-if-exists |
아니오 | Boolean | true이면 존재하는 템플릿만 삭제합니다. 기본값은 false입니다. |
request-params |
아니오 | Object | 추가 요청 매개변수입니다. |
shrink-index
shrink-index 작업은 Shrink Index API를 사용하여 인덱스의 기본 샤드 수를 줄입니다.
사용법
{
"name": "shrink-index",
"operation-type": "shrink-index",
"source-index": "my-index",
"target-index": "my-index-shrunk",
"target-body": {
"settings": {
"index.number_of_shards": 1,
"index.codec": "best_compression"
}
}
}
{% include copy.html %}
구성 옵션
| 매개변수 | 필수 | 유형 | 설명 |
|---|---|---|---|
source-index |
예 | String | 축소할 소스 인덱스(또는 와일드카드 패턴)입니다. |
target-index |
예 | String | 축소된 인덱스의 이름입니다. source-index가 여러 인덱스와 일치하면 일치하는 접미사가 이 이름에 추가됩니다. |
target-body |
예 | Object | 대상 인덱스의 설정과 매핑입니다. |
shrink-node |
아니오 | String | 축소 전에 소스 샤드를 할당할 노드입니다. 생략하면 임의의 데이터 노드가 선택됩니다. |
create-snapshot-repository
create-snapshot-repository 작업은 스냅샷 리포지토리를 생성합니다.
구성 옵션
| 매개변수 | 필수 | 유형 | 설명 |
|---|---|---|---|
repository |
예 | String | 리포지토리 이름입니다. |
body |
예 | Object | 리포지토리 정의(유형, 설정)입니다. |
request-params |
아니오 | Object | 추가 요청 매개변수입니다. |
delete-snapshot-repository
delete-snapshot-repository 작업은 스냅샷 리포지토리를 삭제합니다.
구성 옵션
| 매개변수 | 필수 | 유형 | 설명 |
|---|---|---|---|
repository |
예 | String | 삭제할 리포지토리 이름입니다. |
create-snapshot
create-snapshot 작업은 스냅샷을 생성합니다.
구성 옵션
| 매개변수 | 필수 | 유형 | 설명 |
|---|---|---|---|
repository |
예 | String | 리포지토리 이름입니다. |
snapshot |
예 | String | 스냅샷 이름입니다. |
body |
예 | Object | 스냅샷 정의입니다. |
wait-for-completion |
아니오 | Boolean | 반환 전에 스냅샷이 완료될 때까지 기다릴지 여부입니다. 기본값은 false입니다. 스냅샷 기간을 정확하게 측정하려면 이 값을 false로 두고 wait-for-snapshot-create를 후속 작업으로 사용하세요. |
request-params |
아니오 | Object | 추가 요청 매개변수입니다. |
wait-for-snapshot-create
wait-for-snapshot-create 작업은 스냅샷이 SUCCESS 상태가 될 때까지 스냅샷 상태를 폴링합니다. 스냅샷이 FAILED로 끝나면 작업은 어설션 오류를 발생시킵니다. 보고되는 메트릭에는 스냅샷 크기(바이트), 처리량 및 기간이 포함됩니다.
구성 옵션
| 매개변수 | 필수 | 유형 | 설명 |
|---|---|---|---|
repository |
예 | String | 리포지토리 이름입니다. |
snapshot |
예 | String | 스냅샷 이름입니다. |
completion-recheck-wait-period |
아니오 | Number | 상태 폴링 간격(초)입니다. 기본값은 1입니다. |
restore-snapshot
restore-snapshot 작업은 스냅샷을 복원합니다.
구성 옵션
| 매개변수 | 필수 | 유형 | 설명 |
|---|---|---|---|
repository |
예 | String | 리포지토리 이름입니다. |
snapshot |
예 | String | 스냅샷 이름입니다. |
body |
아니오 | Object | 복원 요청 본문입니다. |
wait-for-completion |
아니오 | Boolean | 반환 전에 복원이 완료될 때까지 기다릴지 여부입니다. 기본값은 false입니다. 복원 기간을 측정하려면 wait-for-recovery와 함께 사용하세요. |
request-params |
아니오 | Object | 추가 요청 매개변수입니다. |
wait-for-recovery
wait-for-recovery 작업은 Index Recovery API를 폴링하여 인덱스 복구가 완료될 때까지 기다립니다.
구성 옵션
| 매개변수 | 필수 | 유형 | 설명 |
|---|---|---|---|
index |
예 | String | 복구를 모니터링할 인덱스입니다. |
completion-recheck-wait-period |
아니오 | Number | 복구 폴링 간격(초)입니다. 기본값은 1입니다. |
submit-async-search
submit-async-search 작업은 비동기 검색 요청을 제출하고 반환된 비동기 검색 ID를 작업 name 아래에 저장하여 동일한 복합 작업 내의 후속 작업이 이를 가져오거나 삭제할 수 있도록 합니다.
구성 옵션
| 매개변수 | 필수 | 유형 | 설명 |
|---|---|---|---|
name |
예 | String | 작업 이름입니다. 다른 작업에서 이 이름을 참조하여 결과 비동기 검색 ID를 조회합니다. |
body |
예 | Object | 검색 요청 본문입니다. |
index |
아니오 | String | 대상 인덱스입니다. |
request-params |
아니오 | Object | 비동기 검색 API로 전달되는 추가 요청 매개변수입니다. |
get-async-search
get-async-search 작업은 이전에 제출된 하나 이상의 비동기 검색 결과를 검색합니다. 이 작업은 참조된 모든 검색이 완료된 경우에만 성공합니다(is_running: false).
구성 옵션
| 매개변수 | 필수 | 유형 | 설명 |
|---|---|---|---|
retrieve-results-for |
예 | String 또는 List | 결과를 검색할 submit-async-search 작업의 이름(또는 이름 목록)입니다. |
request-params |
아니오 | Object | 비동기 검색 Get API로 전달되는 추가 요청 매개변수입니다. |
delete-async-search
delete-async-search 작업은 하나 이상의 비동기 검색 결과를 삭제합니다.
구성 옵션
| 매개변수 | 필수 | 유형 | 설명 |
|---|---|---|---|
delete-results-for |
예 | String 또는 List | 결과를 삭제할 submit-async-search 작업의 이름(또는 이름 목록)입니다. |
create-point-in-time
create-point-in-time 작업은 인덱스에 대한 Point in Time (PIT)를 생성합니다. 결과 PIT ID는 작업 name 아래에 저장되어 동일한 복합 작업 내의 후속 작업이 이를 참조할 수 있습니다.
구성 옵션
| 매개변수 | 필수 | 유형 | 설명 |
|---|---|---|---|
name |
예 | String | 작업 이름입니다. 다른 작업에서 이 이름을 참조하여 결과 PIT ID를 재사용합니다. |
index |
예 | String | 대상 인덱스입니다. |
keep-alive |
아니오 | String | PIT를 유지할 시간입니다(예: 5m). 기본값은 1m입니다. |
request-params |
아니오 | Object | Create PIT API로 전달되는 추가 요청 매개변수입니다. |
delete-point-in-time
delete-point-in-time 작업은 하나 이상의 PIT를 삭제합니다. with-point-in-time-from이 설정되면 해당 이름의 작업으로 생성된 PIT만 삭제되고, 그렇지 않으면 클러스터의 모든 PIT가 삭제됩니다.
구성 옵션
| 매개변수 | 필수 | 유형 | 설명 |
|---|---|---|---|
with-point-in-time-from |
아니오 | String | 삭제할 PIT를 생성한 create-point-in-time 작업의 이름입니다. 생략하면 모든 PIT가 삭제됩니다. |
request-params |
아니오 | Object | Delete PIT API로 전달되는 추가 요청 매개변수입니다. |
list-all-point-in-time
list-all-point-in-time 작업은 클러스터의 모든 활성 PIT를 나열합니다.
구성 옵션
| 매개변수 | 필수 | 유형 | 설명 |
|---|---|---|---|
request-params |
아니오 | Object | List PIT API로 전달되는 추가 요청 매개변수입니다. |
create-transform
create-transform 작업은 인덱스 트랜스폼을 생성합니다.
구성 옵션
| 매개변수 | 필수 | 유형 | 설명 |
|---|---|---|---|
transform-id |
예 | String | 트랜스폼 ID입니다. |
body |
예 | Object | 트랜스폼 정의입니다. |
start-transform
start-transform 작업은 이전에 생성된 트랜스폼을 시작합니다.
구성 옵션
| 매개변수 | 필수 | 유형 | 설명 |
|---|---|---|---|
transform-id |
예 | String | 시작할 트랜스폼 ID입니다. |
timeout |
아니오 | Number | 시작 요청에 대한 선택적 클라이언트 측 타임아웃입니다. |
wait-for-transform
wait-for-transform 작업은 트랜스폼이 다음 체크포인트에 도달하거나(또는 옵션에 따라 중지될 때까지) 트랜스폼 상태를 폴링합니다.
구성 옵션
| 매개변수 | 필수 | 유형 | 설명 |
|---|---|---|---|
transform-id |
예 | String | 모니터링할 트랜스폼 ID입니다. |
force |
아니오 | Boolean | 폴링 완료 시 트랜스폼을 강제로 중지합니다. 기본값은 false입니다. |
wait-for-checkpoint |
아니오 | Boolean | 모든 데이터가 다음 체크포인트를 통해 처리될 때까지 기다립니다. 기본값은 true입니다. |
wait-for-completion |
아니오 | Boolean | 트랜스폼이 완전히 중지될 때까지 차단합니다. 기본값은 true입니다. |
transform-timeout |
아니오 | Number | 전체 트랜스폼 런타임 타임아웃(초)입니다. 기본값은 3600입니다. |
poll-interval |
아니오 | Number | 트랜스폼 통계를 폴링하는 간격(초)입니다. 기본값은 0.5입니다. |
delete-transform
delete-transform 작업은 이전에 생성된 트랜스폼을 삭제합니다. 존재하지 않는 트랜스폼(HTTP 404)은 무시되므로 이 작업은 정리 단계로 안전하게 사용할 수 있습니다.
구성 옵션
| 매개변수 | 필수 | 유형 | 설명 |
|---|---|---|---|
transform-id |
예 | String | 삭제할 트랜스폼 ID입니다. |
force |
아니오 | Boolean | true이면 현재 실행 중인 경우에도 트랜스폼을 삭제합니다. 기본값은 false입니다. |
train-knn-model
train-knn-model 작업은 Train Model API를 사용하여 k-NN 모델을 학습시키고 학습이 완료될 때까지 폴링해요.
Configuration options
| Parameter | Required | Type | Description |
|---|---|---|---|
body |
Yes | Object | 학습 요청 본문이에요. 본문 매개변수는 Train Model API를 참조해요. |
model_id |
Yes | String | 학습할 모델 ID예요. |
retries |
No | Integer | 포기하기 전까지 폴링 재시도 최대 횟수예요. 기본값은 1000이에요. |
poll_period |
No | Number | 상태 폴링 간격(초)이에요. 기본값은 0.5예요. |
delete-knn-model
delete-knn-model 작업은 학습된 k-NN 모델을 삭제해요.
Configuration options
| Parameter | Required | Type | Description |
|---|---|---|---|
model_id |
Yes | String | 삭제할 모델 ID예요. |
ignore-if-model-does-not-exist |
No | Boolean | true이면 모델이 없을 때(HTTP 404)를 성공으로 간주해요. 기본값은 false예요. |
register-ml-model
register-ml-model 작업은 ML Commons API를 사용하여 머신러닝 모델을 등록해요. 러너는 먼저 일치하는 이름의 모델을 검색하고, 이미 존재하면 기존 모델 ID를 재사용해요. 그렇지 않으면 새 등록 요청을 제출하고 완료될 때까지 폴링해요. 결과 모델 ID는 작업 디렉터리의 model_id.json에 기록되어 이후 작업에서 사용할 수 있어요.
요청 본문은 두 가지 방법 중 하나로 제공할 수 있어요. model-config-file을 디스크 경로로 설정하거나, model-name, model-version, model-format을 설정하고 OpenSearch Benchmark가 본문을 조합하도록 할 수 있어요.
Configuration options
| Parameter | Required | Type | Description |
|---|---|---|---|
model-config-file |
No | String | 전체 등록 본문이 포함된 JSON 파일의 경로예요. 설정하면 다른 본문 필드는 무시돼요. |
model-name |
No | String | 모델 이름이에요. model-config-file이 설정되지 않았을 때 본문을 조합하는 데 사용돼요. |
model-version |
No | String | 모델 버전이에요. |
model-format |
No | String | 모델 형식이에요(예: TORCH_SCRIPT). |
timeout |
No | Number | 등록 작업 완료를 기다리는 최대 시간(초)이에요. 기본값은 120이에요. |
deploy-ml-model
deploy-ml-model 작업은 이전에 등록된 ML 모델을 배포(로드)해요. 모델 ID는 작업 디렉터리의 model_id.json에서 읽어오므로(일반적으로 이전 register-ml-model 작업에서 기록), 이 작업은 필수 매개변수가 없어요.
Configuration options
| Parameter | Required | Type | Description |
|---|---|---|---|
timeout |
No | Number | 배포 작업 완료를 기다리는 최대 시간(초)이에요. 기본값은 120이에요. |
create-ml-connector
create-ml-connector 작업은 원격 모델 통합을 위한 ML connector를 생성해요.
Configuration options
| Parameter | Required | Type | Description |
|---|---|---|---|
body |
Yes | Object | 커넥터 정의예요. |
delete-ml-connector
delete-ml-connector 작업은 이름으로 ML 커넥터를 찾아 삭제해요. 제공된 이름과 일치하는 커넥터가 없으면 아무 작업도 수행하지 않아요.
Configuration options
| Parameter | Required | Type | Description |
|---|---|---|---|
connector_name |
Yes | String | 찾아서 삭제할 커넥터 이름이에요. |
register-remote-ml-model
register-remote-ml-model 작업은 ML connector로 지원되는 원격 ML 모델을 등록해요. 등록 작업이 완료될 때까지 폴링한 다음 결과 모델 ID를 작업 디렉터리의 model_id.json에 기록하여 이후 작업에서 사용할 수 있게 해요.
요청 본문에 connector_id가 설정되지 않으면 OpenSearch Benchmark는 작업 디렉터리의 connector_id.json에서 읽어와요(일반적으로 이전 create-ml-connector 작업에서 기록).
Configuration options
| Parameter | Required | Type | Description |
|---|---|---|---|
body |
Yes | Object | 모델 등록 요청 본문이에요. connector_id가 생략되면 connector_id.json에서 로드돼요. |
delete-ml-model
delete-ml-model 작업은 이름으로 모델을 찾아 현재 배포된 모델을 배포 해제한 다음 삭제해요. 동일한 이름의 모델이 여러 개(예: 버전별) 있으면 모두 삭제돼요.
Configuration options
| Parameter | Required | Type | Description |
|---|---|---|---|
model-name |
Yes | String | 찾아서 삭제할 모델 이름이에요. |
number-of-hits-to-return |
No | Integer | 검색 쿼리에서 가져올 일치하는 모델의 최대 개수예요. 기본값은 1000이에요. |
undeploy-timeout |
No | Number | 삭제 전 각 모델이 완전히 배포 해제될 때까지 기다리는 시간(초)이에요. 기본값은 10이에요. |
raw-request
raw-request 작업은 OpenSearch에 임의의 HTTP 요청을 보내요. 전용 작업 유형으로 처리되지 않는 작업에 사용해요.
Usage
{
"name": "check-shard-count",
"operation-type": "raw-request",
"method": "GET",
"path": "/_cat/shards?v",
"body": {}
}
{% include copy.html %}
Configuration options
| Parameter | Required | Type | Description |
|---|---|---|---|
method |
No | String | HTTP 메서드(GET, POST, PUT, DELETE)예요. 기본값은 GET이에요. |
path |
Yes | String | URL 경로예요. /로 시작해야 해요. |
body |
No | Object | 요청 본문이에요. |
request-params |
No | Object | 쿼리 문자열 매개변수예요. |
headers |
No | Object | 포함할 HTTP 헤더예요. |
ignore |
No | List | 무시할 HTTP 상태 코드예요(예: [404]). |
sleep
sleep 작업은 지정된 시간 동안 실행을 일시 중지해요.
Usage
{
"name": "wait-before-search",
"operation-type": "sleep",
"duration": 30
}
{% include copy.html %}
Configuration options
| Parameter | Required | Type | Description |
|---|---|---|---|
duration |
Yes | Number | 일시 중지 시간(초)이에요. |
composite
composite 작업은 내부 작업의 구조화된 그룹을 단일 측정 단위로 실행하며, 선택적으로 병렬 하위 스트림을 사용할 수 있어요. 여러 요청이 상태를 공유해야 하거나(예: PIT 생성, 검색, 삭제) 소규모 워크플로우의 종단 간 시간을 측정하려는 경우 유용해요.
composite 내부에는 일부 작업 유형만 사용할 수 있어요: create-point-in-time, delete-point-in-time, list-all-point-in-time, search, paginated-search, raw-request, sleep, submit-async-search, get-async-search, delete-async-search. 중첩된 stream 블록은 병렬로 실행돼요.
Usage
{
"name": "pit-search-workflow",
"operation-type": "composite",
"requests": [
{ "operation-type": "create-point-in-time", "name": "pit", "index": "my-index" },
{ "operation-type": "search", "body": { "query": { "match_all": {} } } },
{ "operation-type": "delete-point-in-time", "with-point-in-time-from": "pit" }
]
}
{% include copy.html %}
Configuration options
| Parameter | Required | Type | Description |
|---|---|---|---|
requests |
Yes | List | 실행할 내부 작업 또는 stream 블록의 목록이에요. |
max-connections |
No | Integer | 컴포지트 전체에서 동시에 처리 중인 요청 수의 상한이에요. 기본값은 제한 없음이에요. |
produce-stream-message
produce-stream-message 작업은 스트리밍 수집 벤치마크를 위해 구성된 message-producer(예: Kafka 프로듀서)에 메시지를 게시해요. body는 줄바꿈으로 분할되며, 메타데이터가 아닌 각 줄이 개별 메시지로 전송돼요. 프로듀서는 워크로드 또는 클러스터 수준에서 구성되며, 러너 자체는 프로듀서 참조와 메시지 페이로드만 사용해요.
Configuration options
| Parameter | Required | Type | Description |
|---|---|---|---|
message-producer |
Yes | Producer | 메시지를 보내는 데 사용되는 프로듀서 인스턴스예요(런타임에 워크로드가 확인). |
body |
Yes | String or Bytes | 줄바꿈으로 구분된 메시지 페이로드예요. 인덱스 메타데이터 줄({"index": {"_index": ...}})은 건너뛰어요. |
proto-bulk
proto-bulk 작업은 HTTP REST 대신 gRPC 전송을 사용하여 벌크 인덱스 요청을 보내요. 대상 클러스터에서 gRPC가 활성화되어 있어야 해요.
Configuration options
bulk과 동일하지만 HTTP를 통한 JSON 대신 gRPC 직렬화(Protocol Buffers)를 사용해요. --grpc-target-hosts를 사용하여 gRPC 엔드포인트를 지정해요.
proto-search
proto-search 작업은 gRPC 전송을 사용하여 검색 요청을 보내요.
Configuration options
search와 동일하지만 gRPC를 사용해요. --grpc-target-hosts를 사용하여 gRPC 엔드포인트를 지정해요.
proto-vector-search
proto-vector-search 작업은 gRPC 전송을 사용하여 벡터 검색 요청을 보내요.
Configuration options
vector-search와 동일하지만 gRPC를 사용해요. --grpc-target-hosts를 사용하여 gRPC 엔드포인트를 지정해요.
proto-bulk-vector-data-set
proto-bulk-vector-data-set 작업은 gRPC 전송을 사용하여 벡터 데이터 세트를 벌크 인덱싱해요. bulk-vector-data-set의 gRPC 대응 작업이에요.
Configuration options
bulk-vector-data-set과 동일하지만 HTTP를 통한 JSON 대신 gRPC 직렬화(Protocol Buffers)를 사용해요. --grpc-target-hosts를 사용하여 gRPC 엔드포인트를 지정해요.