PaginatedJsonQueryElasticsearch 2025.5.31.15¶
번들¶
org.apache.nifi | nifi-elasticsearch-restapi-nar
설명¶
사용자가 Elasticsearch JSON DSL 로 작성된 페이지 매김 쿼리(집계 포함)를 실행할 수 있는 프로세서입니다. QUERY 특성이 채워지지 않으면 쿼리에 flowfile의 내용을 사용합니다. 검색 후/시점 쿼리에는 유효한 ‘정렬’ 필드가 포함되어야 합니다.
입력 요구 사항¶
REQUIRED
민감한 동적 속성 지원¶
false
속성¶
속성 |
설명 |
---|---|
Max JSON Field String Length |
JSON 문서 또는 특성을 구문 분석할 때 허용되는 문자열 값의 최대 길이입니다. |
el-query-attribute |
설정하면 실행된 쿼리가 지정된 특성의 각 결과 flowfile에 설정됩니다. |
el-rest-client-service |
쿼리 실행에 사용할 Elasticsearch 클라이언트 서비스입니다. |
el-rest-fetch-index |
사용할 인덱스의 이름입니다. |
el-rest-format-aggregations |
집계 출력 형식입니다. |
el-rest-format-hits |
히트 출력의 형식입니다. |
el-rest-output-no-hits |
쿼리에 대한 히트 항목이 없는 경우에도 ‘히트’ flowfile을 출력합니다. true이면 ‘집계’가 출력되더라도 빈 ‘히트’ flowfile이 출력됩니다. |
el-rest-pagination-keep-alive |
페이지 매김 “keep_alive” 기간입니다. 기간 Elasticsearch는 요청 사이에 스크롤/피트 커서를 유지합니다(모든 페이지가 반환될 것으로 예상되는 시간이 아니라 페이지 검색 사이에 요청에 허용되는 최대 시간임). |
el-rest-pagination-type |
사용할 페이지 매김 방법입니다. 모든 Elasticsearch 버전에서 모든 유형을 사용할 수 있는 것은 아니므로 Elasticsearch 문서를 확인하여 서비스에 적용 가능하고 권장되는 유형을 확인할 수 있습니다. |
el-rest-query |
Lucene 구문이 아닌 JSON 구문의 쿼리입니다. 예: {“query”:{“match”:{“somefield”:”somevalue”}}}. 이 매개 변수를 설정하지 않으면 flowfile 내용에서 쿼리를 읽습니다. 쿼리(속성 및 Flowfile 내용)가 비어 있는 경우, 기본 빈 JSON 오브젝트가 사용되며, 이는 Elasticsearch에서 “match_all” 쿼리 결과를 생성합니다. |
el-rest-query-clause |
루씬 구문이 아닌 JSON 구문의 “쿼리” 절입니다. 예: {“match”:{“somefield”:”somevalue”}}. 쿼리가 비어 있으면 기본 JSON 오브젝트가 사용되며, 이는 Elasticsearch에서 “match_all” 쿼리를 생성합니다. |
el-rest-query-definition-style |
프로세서에서 사용하기 위해 JSON 쿼리를 정의하는 방법입니다. |
el-rest-split-up-aggregations |
모든 집계를 포함하는 flowfile 또는 각 개별 집계에 대해 1개의 flowfile을 출력합니다. |
el-rest-split-up-hits |
모든 히트를 포함하는 flowfile 또는 각 개별 히트마다 1개의 flowfile 또는 모든 페이징된 응답의 모든 히트를 포함하는 1개의 flowfile을 출력합니다. |
el-rest-type |
이 문서의 유형(인덱스 및 검색을 위해 Elasticsearch에서 사용)입니다. |
es-rest-query-aggs |
JSON 구문으로 작성된 1개 이상의 쿼리 집계(또는 “aggs”)입니다. 예: {“items”: {“terms”: {“field”: “product”, “size”: 10}}} |
es-rest-query-fields |
JSON 구문으로 작성된 검색할 인덱스된 문서의 필드입니다. 예: [“user.id”, “http.response.*”, {“field”: “@timestamp”, “format”: “epoch_millis”}] |
es-rest-query-script-fields |
JSON 구문으로 작성된 쿼리 런타임에 스크립트 평가를 사용하여 생성할 필드입니다. 예: {“test1”: {“script”: {“lang”: “painless”, “source”: “doc[‘price’].value * 2”}}, “test2”: {“script”: {“lang”: “painless”, “source”: “doc[‘price’].value * params.factor”, “params”: {“factor”: 2.0}}}} |
es-rest-query-sort |
JSON 구문으로 작성된 1개 이상의 필드를 기준으로 결과를 정렬합니다. 예: [{“price” : {“order” : “asc”, “mode” : “avg”}}, {“post_date” : {“format”: “strict_date_optional_time_nanos”}}] |
es-rest-size |
쿼리에서 검색할 최대 문서 수입니다. 쿼리가 페이지 매김된 경우 이 “size”는 전체 결과 세트의 “size”가 아니라 쿼리의 각 페이지에 적용됩니다. |
관계¶
이름 |
설명 |
---|---|
집계 |
집계는 이 관계로 라우팅됩니다. |
실패 |
서버 가용성과 무관한 이유로 실패하는 모든 flowfile은 이 관계로 이동합니다. |
히트 |
검색 히트는 이 관계로 라우팅됩니다. |
원본 |
오류가 발생하지 않는 모든 원본 플로우 파일은 이 관계로 이동합니다. |
Writes 특성¶
이름 |
설명 |
---|---|
mime.type |
application/json |
aggregation.name |
결과가 출력 flowfile에 있는 집계의 이름입니다 |
aggregation.number |
결과가 출력 flowfile에 있는 집계의 수입니다 |
page.number |
출력 flowfile에 있는 결과가 반환된 페이지(요청)의 번호(1부터 시작)입니다 |
hit.count |
출력 flowfile에 있는 히트 수입니다 |
elasticsearch.query.error |
인덱스 쿼리에 오류가 있는 경우 Elasticsearch에서 제공하는 오류 메시지입니다. |