Script search processor
출처: 문서
본문
스크립트 검색 프로세서
2.8에서 도입 {: .label .label-purple }
script 검색 요청 프로세서는 검색 요청을 가로채서, 들어오는 요청에 실행되는 인라인 Painless 스크립트를 추가해요. 스크립트는 다음 요청 필드에만 실행할 수 있어요:
fromsizeexplainversionseq_no_primary_termtrack_scorestrack_total_hitsmin_scoreterminate_afterprofile
요청 필드 정의는 검색 요청 필드를 참고하세요.
요청 본문 필드
다음 표는 사용 가능한 모든 요청 필드를 정리한 거예요.
| 필드 | 데이터 타입 | 설명 |
|---|---|---|
source |
Inline script | 실행할 스크립트예요. 필수예요. |
lang |
String | 스크립트 언어예요. 선택 사항이에요. painless만 지원해요. |
tag |
String | 프로세서의 식별자예요. 선택 사항이에요. |
description |
String | 프로세서에 대한 설명이에요. 선택 사항이에요. |
ignore_failure |
Boolean | true이면 OpenSearch가 이 프로세서의 실패를 무시하고 검색 파이프라인의 나머지 프로세서를 계속 실행해요. 선택 사항이에요. 기본값은 false예요. |
예제
다음 요청은 script 요청 프로세서가 있는 검색 파이프라인을 만들어요. 이 스크립트는 explain이 비용이 많이 드는 작업이기 때문에 점수 설명을 한 문서로만 제한해요:
PUT /_search/pipeline/explain_one_result
{
"description": "A pipeline to limit the explain operation to one result only",
"request_processors": [
{
"script": {
"lang": "painless",
"source": "if (ctx._source['size'] > 1) { ctx._source['explain'] = false } else { ctx._source['explain'] = true }"
}
}
]
}
{% include copy-curl.html %}