<extensionManifest><groupId>org.apache.nifi</groupId><artifactId>nifi-elasticsearch-restapi-nar</artifactId><version>1.22.0</version><parentNar><groupId>org.apache.nifi</groupId><artifactId>nifi-elasticsearch-client-service-api-nar</artifactId><version>1.22.0</version></parentNar><systemApiVersion>1.22.0</systemApiVersion><buildInfo><tag>nifi-1.22.0-RC1</tag><branch>UNKNOWN</branch><revision>71e3ea9</revision></buildInfo><extensions><extension><name>org.apache.nifi.processors.elasticsearch.DeleteByQueryElasticsearch</name><type>PROCESSOR</type><description>Delete from an Elasticsearch index using a query. The query can be loaded from a flowfile body or from the Query parameter.</description><tags><tag>elastic</tag><tag>elasticsearch</tag><tag>elasticsearch5</tag><tag>elasticsearch6</tag><tag>elasticsearch7</tag><tag>elasticsearch8</tag><tag>delete</tag><tag>query</tag></tags><properties><property><name>el-rest-query</name><displayName>Query</displayName><description>A query in JSON syntax, not Lucene syntax. Ex: {"query":{"match":{"somefield":"somevalue"}}}. If this parameter is not set, the query will be read from the flowfile content.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-query-attribute</name><displayName>Query Attribute</displayName><description>If set, the executed query will be set on each result flowfile in the specified attribute.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-fetch-index</name><displayName>Index</displayName><description>The name of the index to use.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-type</name><displayName>Type</displayName><description>The type of this document (used by Elasticsearch for indexing and searching).</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-client-service</name><displayName>Client Service</displayName><description>An Elasticsearch client service to use for running queries.</description><controllerServiceDefinition><className>org.apache.nifi.elasticsearch.ElasticSearchClientService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-elasticsearch-client-service-api-nar</artifactId><version>1.22.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><dynamicProperties><dynamicProperty><name>The name of a URL query parameter to add</name><value>The value of the URL query parameter</value><description>Adds the specified property name/value as a query parameter in the Elasticsearch URL used for processing. These parameters will override any matching parameters in the query request body</description><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope></dynamicProperty></dynamicProperties><relationships><relationship><name>retry</name><description>All flowfiles that fail due to server/cluster availability go to this relationship.</description><autoTerminated>false</autoTerminated></relationship><relationship><name>success</name><description>If the "by query" operation succeeds, and a flowfile was read, it will be sent to this relationship.</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>If the "by query" operation fails, and a flowfile was read, it will be sent to this relationship.</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes><writesAttribute><name>elasticsearch.delete.took</name><description>The amount of time that it took to complete the delete operation in ms.</description></writesAttribute><writesAttribute><name>elasticsearch.delete.error</name><description>The error message provided by Elasticsearch if there is an error running the delete.</description></writesAttribute></writesAttributes><inputRequirement>INPUT_ALLOWED</inputRequirement></extension><extension><name>org.apache.nifi.processors.elasticsearch.GetElasticsearch</name><type>PROCESSOR</type><description>Elasticsearch get processor that uses the official Elastic REST client libraries to fetch a single document from Elasticsearch by _id. Note that the full body of the document will be read into memory before being written to a FlowFile for transfer.</description><tags><tag>json</tag><tag>elasticsearch</tag><tag>elasticsearch5</tag><tag>elasticsearch6</tag><tag>elasticsearch7</tag><tag>elasticsearch8</tag><tag>put</tag><tag>index</tag><tag>record</tag></tags><properties><property><name>get-es-id</name><displayName>Document Id</displayName><description>The _id of the document to retrieve.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-fetch-index</name><displayName>Index</displayName><description>The name of the index to use.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-type</name><displayName>Type</displayName><description>The type of this document (used by Elasticsearch for indexing and searching).</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>get-es-destination</name><displayName>Destination</displayName><description>Indicates whether the retrieved document is written to the FlowFile content or a FlowFile attribute.</description><defaultValue>flowfile-content</defaultValue><allowableValues><allowableValue><displayName>FlowFile Content</displayName><value>flowfile-content</value><description>Output the retrieved document as the FlowFile content.</description></allowableValue><allowableValue><displayName>FlowFile Attribute</displayName><value>flowfile-attribute</value><description>Output the retrieved document as a FlowFile attribute specified by the Attribute Name.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>get-es-attribute-name</name><displayName>Attribute Name</displayName><description>The name of the FlowFile attribute to use for the retrieved document output.</description><defaultValue>elasticsearch.doc</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>get-es-destination</propertyName><propertyDisplayName>Destination</propertyDisplayName><dependentValues><dependentValue>flowfile-attribute</dependentValue></dependentValues></dependency></dependencies></property><property><name>el-rest-client-service</name><displayName>Client Service</displayName><description>An Elasticsearch client service to use for running queries.</description><controllerServiceDefinition><className>org.apache.nifi.elasticsearch.ElasticSearchClientService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-elasticsearch-client-service-api-nar</artifactId><version>1.22.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><dynamicProperties><dynamicProperty><name>The name of a URL query parameter to add</name><value>The value of the URL query parameter</value><description>Adds the specified property name/value as a query parameter in the Elasticsearch URL used for processing.</description><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope></dynamicProperty></dynamicProperties><relationships><relationship><name>retry</name><description>All flowfiles that fail due to server/cluster availability go to this relationship.</description><autoTerminated>false</autoTerminated></relationship><relationship><name>document</name><description>Fetched documents are routed to this relationship.</description><autoTerminated>false</autoTerminated></relationship><relationship><name>not_found</name><description>A FlowFile is routed to this relationship if the specified document does not exist in the Elasticsearch cluster.</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>All flowfiles that fail for reasons unrelated to server availability go to this relationship.</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes><writesAttribute><name>filename</name><description>The filename attribute is set to the document identifier</description></writesAttribute><writesAttribute><name>elasticsearch.index</name><description>The Elasticsearch index containing the document</description></writesAttribute><writesAttribute><name>elasticsearch.type</name><description>The Elasticsearch document type</description></writesAttribute><writesAttribute><name>elasticsearch.get.error</name><description>The error message provided by Elasticsearch if there is an error fetching the document.</description></writesAttribute></writesAttributes><inputRequirement>INPUT_ALLOWED</inputRequirement></extension><extension><name>org.apache.nifi.processors.elasticsearch.JsonQueryElasticsearch</name><type>PROCESSOR</type><description>A processor that allows the user to run a query (with aggregations) written with the Elasticsearch JSON DSL. It does not automatically paginate queries for the user. If an incoming relationship is added to this processor, it will use the flowfile's content for the query. Care should be taken on the size of the query because the entire response from Elasticsearch will be loaded into memory all at once and converted into the resulting flowfiles.</description><tags><tag>elasticsearch</tag><tag>elasticsearch5</tag><tag>elasticsearch6</tag><tag>elasticsearch7</tag><tag>elasticsearch8</tag><tag>query</tag><tag>read</tag><tag>get</tag><tag>json</tag></tags><properties><property><name>el-rest-query</name><displayName>Query</displayName><description>A query in JSON syntax, not Lucene syntax. Ex: {"query":{"match":{"somefield":"somevalue"}}}. If this parameter is not set, the query will be read from the flowfile content.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-query-attribute</name><displayName>Query Attribute</displayName><description>If set, the executed query will be set on each result flowfile in the specified attribute.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-fetch-index</name><displayName>Index</displayName><description>The name of the index to use.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-type</name><displayName>Type</displayName><description>The type of this document (used by Elasticsearch for indexing and searching).</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-client-service</name><displayName>Client Service</displayName><description>An Elasticsearch client service to use for running queries.</description><controllerServiceDefinition><className>org.apache.nifi.elasticsearch.ElasticSearchClientService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-elasticsearch-client-service-api-nar</artifactId><version>1.22.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-split-up-hits</name><displayName>Search Results Split</displayName><description>Output a flowfile containing all hits or one flowfile for each individual hit.</description><defaultValue>splitUp-no</defaultValue><allowableValues><allowableValue><displayName>PER_HIT</displayName><value>splitUp-yes</value><description>Flowfile per hit.</description></allowableValue><allowableValue><displayName>PER_RESPONSE</displayName><value>splitUp-no</value><description>Flowfile per response.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-format-hits</name><displayName>Search Results Format</displayName><description>Format of Hits output.</description><defaultValue>FULL</defaultValue><allowableValues><allowableValue><displayName>FULL</displayName><value>FULL</value><description>Contains full Elasticsearch Hit, including Document Source and Metadata.</description></allowableValue><allowableValue><displayName>SOURCE_ONLY</displayName><value>SOURCE_ONLY</value><description>Document Source only (where present).</description></allowableValue><allowableValue><displayName>METADATA_ONLY</displayName><value>METADATA_ONLY</value><description>Hit Metadata only.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-split-up-aggregations</name><displayName>Aggregation Results Split</displayName><description>Output a flowfile containing all aggregations or one flowfile for each individual aggregation.</description><defaultValue>splitUp-no</defaultValue><allowableValues><allowableValue><displayName>PER_HIT</displayName><value>splitUp-yes</value><description>Flowfile per hit.</description></allowableValue><allowableValue><displayName>PER_RESPONSE</displayName><value>splitUp-no</value><description>Flowfile per response.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-format-aggregations</name><displayName>Aggregation Results Format</displayName><description>Format of Aggregation output.</description><defaultValue>FULL</defaultValue><allowableValues><allowableValue><displayName>FULL</displayName><value>FULL</value><description>Contains full Elasticsearch Aggregation, including Buckets and Metadata.</description></allowableValue><allowableValue><displayName>BUCKETS_ONLY</displayName><value>BUCKETS_ONLY</value><description>Bucket Content only.</description></allowableValue><allowableValue><displayName>METADATA_ONLY</displayName><value>METADATA_ONLY</value><description>Aggregation Metadata only.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-output-no-hits</name><displayName>Output No Hits</displayName><description>Output a "hits" flowfile even if no hits found for query. If true, an empty "hits" flowfile will be output even if "aggregations" are output.</description><defaultValue>false</defaultValue><allowableValues><allowableValue><displayName>true</displayName><value>true</value><description></description></allowableValue><allowableValue><displayName>false</displayName><value>false</value><description></description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><dynamicProperties><dynamicProperty><name>The name of a URL query parameter to add</name><value>The value of the URL query parameter</value><description>Adds the specified property name/value as a query parameter in the Elasticsearch URL used for processing. These parameters will override any matching parameters in the query request body</description><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope></dynamicProperty></dynamicProperties><relationships><relationship><name>aggregations</name><description>Aggregations are routed to this relationship.</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>All flowfiles that fail for reasons unrelated to server availability go to this relationship.</description><autoTerminated>false</autoTerminated></relationship><relationship><name>original</name><description>All original flowfiles that don't cause an error to occur go to this relationship.</description><autoTerminated>false</autoTerminated></relationship><relationship><name>hits</name><description>Search hits are routed to this relationship.</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes><writesAttribute><name>mime.type</name><description>application/json</description></writesAttribute><writesAttribute><name>aggregation.name</name><description>The name of the aggregation whose results are in the output flowfile</description></writesAttribute><writesAttribute><name>aggregation.number</name><description>The number of the aggregation whose results are in the output flowfile</description></writesAttribute><writesAttribute><name>hit.count</name><description>The number of hits that are in the output flowfile</description></writesAttribute><writesAttribute><name>elasticsearch.query.error</name><description>The error message provided by Elasticsearch if there is an error querying the index.</description></writesAttribute></writesAttributes><eventDriven>true</eventDriven><inputRequirement>INPUT_ALLOWED</inputRequirement></extension><extension><name>org.apache.nifi.processors.elasticsearch.PaginatedJsonQueryElasticsearch</name><type>PROCESSOR</type><description>A processor that allows the user to run a paginated query (with aggregations) written with the Elasticsearch JSON DSL. It will use the flowfile's content for the query unless the QUERY attribute is populated. Search After/Point in Time queries must include a valid "sort" field.</description><tags><tag>elasticsearch</tag><tag>elasticsearch5</tag><tag>elasticsearch6</tag><tag>elasticsearch7</tag><tag>elasticsearch8</tag><tag>query</tag><tag>scroll</tag><tag>page</tag><tag>read</tag><tag>json</tag></tags><properties><property><name>el-rest-query</name><displayName>Query</displayName><description>A query in JSON syntax, not Lucene syntax. Ex: {"query":{"match":{"somefield":"somevalue"}}}. If this parameter is not set, the query will be read from the flowfile content.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-query-attribute</name><displayName>Query Attribute</displayName><description>If set, the executed query will be set on each result flowfile in the specified attribute.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-fetch-index</name><displayName>Index</displayName><description>The name of the index to use.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-type</name><displayName>Type</displayName><description>The type of this document (used by Elasticsearch for indexing and searching).</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-client-service</name><displayName>Client Service</displayName><description>An Elasticsearch client service to use for running queries.</description><controllerServiceDefinition><className>org.apache.nifi.elasticsearch.ElasticSearchClientService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-elasticsearch-client-service-api-nar</artifactId><version>1.22.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-split-up-hits</name><displayName>Search Results Split</displayName><description>Output a flowfile containing all hits or one flowfile for each individual hit or one flowfile containing all hits from all paged responses.</description><defaultValue>splitUp-no</defaultValue><allowableValues><allowableValue><displayName>PER_HIT</displayName><value>splitUp-yes</value><description>Flowfile per hit.</description></allowableValue><allowableValue><displayName>PER_RESPONSE</displayName><value>splitUp-no</value><description>Flowfile per response.</description></allowableValue><allowableValue><displayName>PER_QUERY</displayName><value>splitUp-query</value><description>Combine results from all query responses (one flowfile per entire paginated result set of hits). Note that aggregations cannot be paged, they are generated across the entire result set and returned as part of the first page. Results are output with one JSON object per line (allowing hits to be combined from multiple pages without loading all results into memory).</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-format-hits</name><displayName>Search Results Format</displayName><description>Format of Hits output.</description><defaultValue>FULL</defaultValue><allowableValues><allowableValue><displayName>FULL</displayName><value>FULL</value><description>Contains full Elasticsearch Hit, including Document Source and Metadata.</description></allowableValue><allowableValue><displayName>SOURCE_ONLY</displayName><value>SOURCE_ONLY</value><description>Document Source only (where present).</description></allowableValue><allowableValue><displayName>METADATA_ONLY</displayName><value>METADATA_ONLY</value><description>Hit Metadata only.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-split-up-aggregations</name><displayName>Aggregation Results Split</displayName><description>Output a flowfile containing all aggregations or one flowfile for each individual aggregation.</description><defaultValue>splitUp-no</defaultValue><allowableValues><allowableValue><displayName>PER_HIT</displayName><value>splitUp-yes</value><description>Flowfile per hit.</description></allowableValue><allowableValue><displayName>PER_RESPONSE</displayName><value>splitUp-no</value><description>Flowfile per response.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-format-aggregations</name><displayName>Aggregation Results Format</displayName><description>Format of Aggregation output.</description><defaultValue>FULL</defaultValue><allowableValues><allowableValue><displayName>FULL</displayName><value>FULL</value><description>Contains full Elasticsearch Aggregation, including Buckets and Metadata.</description></allowableValue><allowableValue><displayName>BUCKETS_ONLY</displayName><value>BUCKETS_ONLY</value><description>Bucket Content only.</description></allowableValue><allowableValue><displayName>METADATA_ONLY</displayName><value>METADATA_ONLY</value><description>Aggregation Metadata only.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-pagination-type</name><displayName>Pagination Type</displayName><description>Pagination method to use. Not all types are available for all Elasticsearch versions, check the Elasticsearch docs to confirm which are applicable and recommended for your service.</description><defaultValue>pagination-scroll</defaultValue><allowableValues><allowableValue><displayName>SCROLL</displayName><value>pagination-scroll</value><description>Use Elasticsearch "scroll" to page results.</description></allowableValue><allowableValue><displayName>SEARCH_AFTER</displayName><value>pagination-search_after</value><description>Use Elasticsearch "search_after" to page sorted results.</description></allowableValue><allowableValue><displayName>POINT_IN_TIME</displayName><value>pagination-pit</value><description>Use Elasticsearch (7.10+ with XPack) "point in time" to page sorted results.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-pagination-keep-alive</name><displayName>Pagination Keep Alive</displayName><description>Pagination "keep_alive" period. Period Elasticsearch will keep the scroll/pit cursor alive in between requests (this is not the time expected for all pages to be returned, but the maximum allowed time for requests between page retrievals).</description><defaultValue>10 mins</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-output-no-hits</name><displayName>Output No Hits</displayName><description>Output a "hits" flowfile even if no hits found for query. If true, an empty "hits" flowfile will be output even if "aggregations" are output.</description><defaultValue>false</defaultValue><allowableValues><allowableValue><displayName>true</displayName><value>true</value><description></description></allowableValue><allowableValue><displayName>false</displayName><value>false</value><description></description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><dynamicProperties><dynamicProperty><name>The name of a URL query parameter to add</name><value>The value of the URL query parameter</value><description>Adds the specified property name/value as a query parameter in the Elasticsearch URL used for processing. These parameters will override any matching parameters in the query request body</description><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope></dynamicProperty></dynamicProperties><relationships><relationship><name>aggregations</name><description>Aggregations are routed to this relationship.</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>All flowfiles that fail for reasons unrelated to server availability go to this relationship.</description><autoTerminated>false</autoTerminated></relationship><relationship><name>original</name><description>All original flowfiles that don't cause an error to occur go to this relationship.</description><autoTerminated>false</autoTerminated></relationship><relationship><name>hits</name><description>Search hits are routed to this relationship.</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes><writesAttribute><name>mime.type</name><description>application/json</description></writesAttribute><writesAttribute><name>aggregation.name</name><description>The name of the aggregation whose results are in the output flowfile</description></writesAttribute><writesAttribute><name>aggregation.number</name><description>The number of the aggregation whose results are in the output flowfile</description></writesAttribute><writesAttribute><name>page.number</name><description>The number of the page (request) in which the results were returned that are in the output flowfile</description></writesAttribute><writesAttribute><name>hit.count</name><description>The number of hits that are in the output flowfile</description></writesAttribute><writesAttribute><name>elasticsearch.query.error</name><description>The error message provided by Elasticsearch if there is an error querying the index.</description></writesAttribute></writesAttributes><eventDriven>true</eventDriven><inputRequirement>INPUT_REQUIRED</inputRequirement><systemResourceConsiderations><systemResourceConsideration><resource>MEMORY</resource><description>Care should be taken on the size of each page because each response from Elasticsearch will be loaded into memory all at once and converted into the resulting flowfiles.</description></systemResourceConsideration></systemResourceConsiderations></extension><extension><name>org.apache.nifi.processors.elasticsearch.PutElasticsearchJson</name><type>PROCESSOR</type><description>An Elasticsearch put processor that uses the official Elastic REST client libraries.</description><tags><tag>json</tag><tag>elasticsearch</tag><tag>elasticsearch5</tag><tag>elasticsearch6</tag><tag>elasticsearch7</tag><tag>elasticsearch8</tag><tag>put</tag><tag>index</tag></tags><properties><property><name>put-es-json-id-attr</name><displayName>Identifier Attribute</displayName><description>The name of the FlowFile attribute containing the identifier for the document. If the Index Operation is "index", this property may be left empty or evaluate to an empty value, in which case the document's identifier will be auto-generated by Elasticsearch. For all other Index Operations, the attribute must evaluate to a non-empty value.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>put-es-record-index-op</name><displayName>Index Operation</displayName><description>The type of the operation used to index (create, delete, index, update, upsert)</description><defaultValue>index</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-fetch-index</name><displayName>Index</displayName><description>The name of the index to use.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-type</name><displayName>Type</displayName><description>The type of this document (used by Elasticsearch for indexing and searching).</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>put-es-json-script</name><displayName>Script</displayName><description>The script for the document update/upsert. Only applies to Update/Upsert operations. Must be parsable as JSON Object. If left blank, the FlowFile content will be used for document update/upsert</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>put-es-json-scripted-upsert</name><displayName>Scripted Upsert</displayName><description>Whether to add the scripted_upsert flag to the Upsert Operation. Forces Elasticsearch to execute the Script whether or not the document exists, defaults to false. If the Upsert Document provided (from FlowFile content) will be empty, but sure to set the Client Service controller service's Suppress Null/Empty Values to Never Suppress or no "upsert" doc will be, included in the request to Elasticsearch and the operation will not create a new document for the script to execute against, resulting in a "not_found" error</description><defaultValue>false</defaultValue><allowableValues><allowableValue><displayName>true</displayName><value>true</value><description></description></allowableValue><allowableValue><displayName>false</displayName><value>false</value><description></description></allowableValue></allowableValues><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>put-es-json-dynamic_templates</name><displayName>Dynamic Templates</displayName><description>The dynamic_templates for the document. Must be parsable as a JSON Object. Requires Elasticsearch 7+</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>put-es-record-batch-size</name><displayName>Batch Size</displayName><description>The preferred number of FlowFiles to send over in a single batch.</description><defaultValue>100</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>put-es-json-charset</name><displayName>Character Set</displayName><description>Specifies the character set of the document data.</description><defaultValue>UTF-8</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-client-service</name><displayName>Client Service</displayName><description>An Elasticsearch client service to use for running queries.</description><controllerServiceDefinition><className>org.apache.nifi.elasticsearch.ElasticSearchClientService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-elasticsearch-client-service-api-nar</artifactId><version>1.22.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>put-es-record-log-error-responses</name><displayName>Log Error Responses</displayName><description>If this is enabled, errors will be logged to the NiFi logs at the error log level. Otherwise, they will only be logged if debug logging is enabled on NiFi as a whole. The purpose of this option is to give the user the ability to debug failed operations without having to turn on debug logging.</description><defaultValue>false</defaultValue><allowableValues><allowableValue><displayName>true</displayName><value>true</value><description></description></allowableValue><allowableValue><displayName>false</displayName><value>false</value><description></description></allowableValue></allowableValues><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>put-es-output-error-responses</name><displayName>Output Error Responses</displayName><description>If this is enabled, response messages from Elasticsearch marked as "error" will be output to the "error_responses" relationship.This does not impact the output of flowfiles to the "success" or "errors" relationships</description><defaultValue>false</defaultValue><allowableValues><allowableValue><displayName>true</displayName><value>true</value><description></description></allowableValue><allowableValue><displayName>false</displayName><value>false</value><description></description></allowableValue></allowableValues><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>put-es-json-error-documents</name><displayName>Output Error Documents</displayName><description>If this configuration property is true, the response from Elasticsearch will be examined for failed documents and the FlowFile(s) associated with the failed document(s) will be sent to the "errors" relationship with "elasticsearch.bulk.error" attributes.</description><defaultValue>false</defaultValue><allowableValues><allowableValue><displayName>true</displayName><value>true</value><description></description></allowableValue><allowableValue><displayName>false</displayName><value>false</value><description></description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>put-es-json-not_found-is-error</name><displayName>Treat "Not Found" as Success</displayName><description>If true, "not_found" Elasticsearch Document associated FlowFiles will be routed to the "success" relationship, otherwise to the "errors" relationship. If Output Error Responses is "true" then "not_found" responses from Elasticsearch will be sent to the error_responses relationship</description><defaultValue>true</defaultValue><allowableValues><allowableValue><displayName>true</displayName><value>true</value><description></description></allowableValue><allowableValue><displayName>false</displayName><value>false</value><description></description></allowableValue></allowableValues><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>put-es-json-error-documents</propertyName><propertyDisplayName>Output Error Documents</propertyDisplayName><dependentValues><dependentValue>true</dependentValue></dependentValues></dependency></dependencies></property></properties><dynamicProperties><dynamicProperty><name>The name of the Bulk request header</name><value>The value of the Bulk request header</value><description>Prefix: BULK: - adds the specified property name/value as a Bulk request header in the Elasticsearch Bulk API body used for processing. These parameters will override any matching parameters in the _bulk request body.</description><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope></dynamicProperty><dynamicProperty><name>The name of a URL query parameter to add</name><value>The value of the URL query parameter</value><description>Adds the specified property name/value as a query parameter in the Elasticsearch URL used for processing. These parameters will override any matching parameters in the _bulk request body. If FlowFiles are batched, only the first FlowFile in the batch is used to evaluate property values.</description><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope></dynamicProperty></dynamicProperties><relationships><relationship><name>retry</name><description>All flowfiles that fail due to server/cluster availability go to this relationship.</description><autoTerminated>false</autoTerminated></relationship><relationship><name>success</name><description>All flowfiles that succeed in being transferred into Elasticsearch go here. Documents received by the Elasticsearch _bulk API may still result in errors on the Elasticsearch side. The Elasticsearch response will need to be examined to determine whether any Document(s)/Record(s) resulted in errors.</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>All flowfiles that fail for reasons unrelated to server availability go to this relationship.</description><autoTerminated>false</autoTerminated></relationship><relationship><name>errors</name><description>If a "Output Error Documents" is set, any FlowFile(s) corresponding to Elasticsearch document(s) that resulted in an "error" (within Elasticsearch) will be routed here.</description><autoTerminated>true</autoTerminated></relationship></relationships><writesAttributes><writesAttribute><name>elasticsearch.put.error</name><description>The error message if there is an issue parsing the FlowFile, sending the parsed document to Elasticsearch or parsing the Elasticsearch response</description></writesAttribute><writesAttribute><name>elasticsearch.bulk.error</name><description>The _bulk response if there was an error during processing the document within Elasticsearch.</description></writesAttribute></writesAttributes><inputRequirement>INPUT_REQUIRED</inputRequirement><systemResourceConsiderations><systemResourceConsideration><resource>MEMORY</resource><description>The Batch of FlowFiles will be stored in memory until the bulk operation is performed.</description></systemResourceConsideration></systemResourceConsiderations></extension><extension><name>org.apache.nifi.processors.elasticsearch.PutElasticsearchRecord</name><type>PROCESSOR</type><description>A record-aware Elasticsearch put processor that uses the official Elastic REST client libraries.</description><tags><tag>json</tag><tag>elasticsearch</tag><tag>elasticsearch5</tag><tag>elasticsearch6</tag><tag>elasticsearch7</tag><tag>elasticsearch8</tag><tag>put</tag><tag>index</tag><tag>record</tag></tags><properties><property><name>put-es-record-index-op</name><displayName>Index Operation</displayName><description>The type of the operation used to index (create, delete, index, update, upsert)</description><defaultValue>index</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-fetch-index</name><displayName>Index</displayName><description>The name of the index to use.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-type</name><displayName>Type</displayName><description>The type of this document (used by Elasticsearch for indexing and searching).</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>put-es-record-at-timestamp</name><displayName>@timestamp Value</displayName><description>The value to use as the @timestamp field (required for Elasticsearch Data Streams)</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-client-service</name><displayName>Client Service</displayName><description>An Elasticsearch client service to use for running queries.</description><controllerServiceDefinition><className>org.apache.nifi.elasticsearch.ElasticSearchClientService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-elasticsearch-client-service-api-nar</artifactId><version>1.22.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>put-es-record-reader</name><displayName>Record Reader</displayName><description>The record reader to use for reading incoming records from flowfiles.</description><controllerServiceDefinition><className>org.apache.nifi.serialization.RecordReaderFactory</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.22.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>put-es-record-batch-size</name><displayName>Batch Size</displayName><description>The number of records to send over in a single batch.</description><defaultValue>100</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>put-es-record-id-path</name><displayName>ID Record Path</displayName><description>A record path expression to retrieve the ID field for use with Elasticsearch. If left blank the ID will be automatically generated by Elasticsearch.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>put-es-record-retain-id-field</name><displayName>Retain ID (Record Path)</displayName><description>Whether to retain the existing field used as the ID Record Path.</description><defaultValue>false</defaultValue><allowableValues><allowableValue><displayName>true</displayName><value>true</value><description></description></allowableValue><allowableValue><displayName>false</displayName><value>false</value><description></description></allowableValue></allowableValues><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>put-es-record-id-path</propertyName><propertyDisplayName>ID Record Path</propertyDisplayName></dependency></dependencies></property><property><name>put-es-record-index-op-path</name><displayName>Index Operation Record Path</displayName><description>A record path expression to retrieve the Index Operation field for use with Elasticsearch. If left blank the Index Operation will be determined using the main Index Operation property.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>put-es-record-index-record-path</name><displayName>Index Record Path</displayName><description>A record path expression to retrieve the index field for use with Elasticsearch. If left blank the index will be determined using the main index property.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>put-es-record-type-record-path</name><displayName>Type Record Path</displayName><description>A record path expression to retrieve the type field for use with Elasticsearch. If left blank the type will be determined using the main type property.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>put-es-record-at-timestamp-path</name><displayName>@timestamp Record Path</displayName><description>A RecordPath pointing to a field in the record(s) that contains the @timestamp for the document. If left blank the @timestamp will be determined using the main @timestamp property</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>put-es-record-retain-at-timestamp-field</name><displayName>Retain @timestamp (Record Path)</displayName><description>Whether to retain the existing field used as the @timestamp Record Path.</description><defaultValue>false</defaultValue><allowableValues><allowableValue><displayName>true</displayName><value>true</value><description></description></allowableValue><allowableValue><displayName>false</displayName><value>false</value><description></description></allowableValue></allowableValues><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>put-es-record-at-timestamp-path</propertyName><propertyDisplayName>@timestamp Record Path</propertyDisplayName></dependency></dependencies></property><property><name>put-es-record-script-path</name><displayName>Script Record Path</displayName><description>A RecordPath pointing to a field in the record(s) that contains the script for the document update/upsert. Only applies to Update/Upsert operations. Field must be Map-type compatible (e.g. a Map or a Record) or a String parsable into a JSON Object</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>put-es-record-scripted-upsert-path</name><displayName>Scripted Upsert Record Path</displayName><description>A RecordPath pointing to a field in the record(s) that contains the scripted_upsert boolean flag. Whether to add the scripted_upsert flag to the Upsert Operation. Forces Elasticsearch to execute the Script whether or not the document exists, defaults to false. If the Upsert Document provided (from FlowFile content) will be empty, but sure to set the Client Service controller service's Suppress Null/Empty Values to Never Suppress or no "upsert" doc will be, included in the request to Elasticsearch and the operation will not create a new document for the script to execute against, resulting in a "not_found" error</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>put-es-record-dynamic-templates-path</name><displayName>Dynamic Templates Record Path</displayName><description>A RecordPath pointing to a field in the record(s) that contains the dynamic_templates for the document. Field must be Map-type compatible (e.g. a Map or Record) or a String parsable into a JSON Object. Requires Elasticsearch 7+</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>put-es-record-at-timestamp-date-format</name><displayName>Date Format</displayName><description>Specifies the format to use when writing Date fields. If not specified, the default format 'yyyy-MM-dd' is used. If specified, the value must match the Java Simple Date Format (for example, MM/dd/yyyy for a two-digit month, followed by a two-digit day, followed by a four-digit year, all separated by '/' characters, as in 01/25/2017).</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>put-es-record-at-timestamp-time-format</name><displayName>Time Format</displayName><description>Specifies the format to use when writing Time fields. If not specified, the default format 'HH:mm:ss' is used. If specified, the value must match the Java Simple Date Format (for example, HH:mm:ss for a two-digit hour in 24-hour format, followed by a two-digit minute, followed by a two-digit second, all separated by ':' characters, as in 18:04:15).</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>put-es-record-at-timestamp-timestamp-format</name><displayName>Timestamp Format</displayName><description>Specifies the format to use when writing Timestamp fields. If not specified, the default format 'yyyy-MM-dd HH:mm:ss' is used. If specified, the value must match the Java Simple Date Format (for example, MM/dd/yyyy HH:mm:ss for a two-digit month, followed by a two-digit day, followed by a four-digit year, all separated by '/' characters; and then followed by a two-digit hour in 24-hour format, followed by a two-digit minute, followed by a two-digit second, all separated by ':' characters, as in 01/25/2017 18:04:15).</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>put-es-record-log-error-responses</name><displayName>Log Error Responses</displayName><description>If this is enabled, errors will be logged to the NiFi logs at the error log level. Otherwise, they will only be logged if debug logging is enabled on NiFi as a whole. The purpose of this option is to give the user the ability to debug failed operations without having to turn on debug logging.</description><defaultValue>false</defaultValue><allowableValues><allowableValue><displayName>true</displayName><value>true</value><description></description></allowableValue><allowableValue><displayName>false</displayName><value>false</value><description></description></allowableValue></allowableValues><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>put-es-output-error-responses</name><displayName>Output Error Responses</displayName><description>If this is enabled, response messages from Elasticsearch marked as "error" will be output to the "error_responses" relationship.This does not impact the output of flowfiles to the "success" or "errors" relationships</description><defaultValue>false</defaultValue><allowableValues><allowableValue><displayName>true</displayName><value>true</value><description></description></allowableValue><allowableValue><displayName>false</displayName><value>false</value><description></description></allowableValue></allowableValues><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>put-es-record-error-writer</name><displayName>Result Record Writer</displayName><description>If this configuration property is set, the response from Elasticsearch will be examined for failed records and the failed records will be written to a record set with this record writer service and sent to the "errors" relationship. Successful records will be written to a record set with this record writer service and sent to the "successful_records" relationship.</description><controllerServiceDefinition><className>org.apache.nifi.serialization.RecordSetWriterFactory</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.22.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>put-es-record-not_found-is-error</name><displayName>Treat "Not Found" as Success</displayName><description>If true, "not_found" Elasticsearch Document associated Records will be routed to the "successful_records" relationship, otherwise to the "errors" relationship. If Output Error Responses is "true" then "not_found" responses from Elasticsearch will be sent to the error_responses relationship</description><defaultValue>true</defaultValue><allowableValues><allowableValue><displayName>true</displayName><value>true</value><description></description></allowableValue><allowableValue><displayName>false</displayName><value>false</value><description></description></allowableValue></allowableValues><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>put-es-record-error-writer</propertyName><propertyDisplayName>Result Record Writer</propertyDisplayName></dependency></dependencies></property></properties><dynamicProperties><dynamicProperty><name>The name of the Bulk request header</name><value>The value of the Bulk request header</value><description>Prefix: BULK: - adds the specified property name/value as a Bulk request header in the Elasticsearch Bulk API body used for processing. These parameters will override any matching parameters in the _bulk request body.</description><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope></dynamicProperty><dynamicProperty><name>The name of a URL query parameter to add</name><value>The value of the URL query parameter</value><description>Adds the specified property name/value as a query parameter in the Elasticsearch URL used for processing. These parameters will override any matching parameters in the _bulk request body</description><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope></dynamicProperty></dynamicProperties><relationships><relationship><name>retry</name><description>All flowfiles that fail due to server/cluster availability go to this relationship.</description><autoTerminated>false</autoTerminated></relationship><relationship><name>success</name><description>All flowfiles that succeed in being transferred into Elasticsearch go here. Documents received by the Elasticsearch _bulk API may still result in errors on the Elasticsearch side. The Elasticsearch response will need to be examined to determine whether any Document(s)/Record(s) resulted in errors.</description><autoTerminated>false</autoTerminated></relationship><relationship><name>successful_records</name><description>If a "Result Record Writer" is set, any Record(s) corresponding to Elasticsearch document(s) that did not result in an "error" (within Elasticsearch) will be routed here.</description><autoTerminated>true</autoTerminated></relationship><relationship><name>failure</name><description>All flowfiles that fail for reasons unrelated to server availability go to this relationship.</description><autoTerminated>false</autoTerminated></relationship><relationship><name>errors</name><description>If a "Result Record Writer" is set, any Record(s) corresponding to Elasticsearch document(s) that resulted in an "error" (within Elasticsearch) will be routed here.</description><autoTerminated>true</autoTerminated></relationship></relationships><writesAttributes><writesAttribute><name>elasticsearch.put.error</name><description>The error message if there is an issue parsing the FlowFile records, sending the parsed documents to Elasticsearch or parsing the Elasticsearch response.</description></writesAttribute><writesAttribute><name>elasticsearch.put.error.count</name><description>The number of records that generated errors in the Elasticsearch _bulk API.</description></writesAttribute><writesAttribute><name>elasticsearch.put.success.count</name><description>The number of records that were successfully processed by the Elasticsearch _bulk API.</description></writesAttribute></writesAttributes><inputRequirement>INPUT_REQUIRED</inputRequirement><systemResourceConsiderations><systemResourceConsideration><resource>MEMORY</resource><description>The Batch of Records will be stored in memory until the bulk operation is performed.</description></systemResourceConsideration></systemResourceConsiderations></extension><extension><name>org.apache.nifi.processors.elasticsearch.SearchElasticsearch</name><type>PROCESSOR</type><description>A processor that allows the user to repeatedly run a paginated query (with aggregations) written with the Elasticsearch JSON DSL. Search After/Point in Time queries must include a valid "sort" field. The processor will retrieve multiple pages of results until either no more results are available or the Pagination Keep Alive expiration is reached, after which the query will restart with the first page of results being retrieved.</description><tags><tag>elasticsearch</tag><tag>elasticsearch5</tag><tag>elasticsearch6</tag><tag>elasticsearch7</tag><tag>elasticsearch8</tag><tag>query</tag><tag>scroll</tag><tag>page</tag><tag>search</tag><tag>json</tag></tags><properties><property><name>el-rest-query</name><displayName>Query</displayName><description>A query in JSON syntax, not Lucene syntax. Ex: {"query":{"match":{"somefield":"somevalue"}}}.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-query-attribute</name><displayName>Query Attribute</displayName><description>If set, the executed query will be set on each result flowfile in the specified attribute.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-fetch-index</name><displayName>Index</displayName><description>The name of the index to use.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-type</name><displayName>Type</displayName><description>The type of this document (used by Elasticsearch for indexing and searching).</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-client-service</name><displayName>Client Service</displayName><description>An Elasticsearch client service to use for running queries.</description><controllerServiceDefinition><className>org.apache.nifi.elasticsearch.ElasticSearchClientService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-elasticsearch-client-service-api-nar</artifactId><version>1.22.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-split-up-hits</name><displayName>Search Results Split</displayName><description>Output a flowfile containing all hits or one flowfile for each individual hit or one flowfile containing all hits from all paged responses.</description><defaultValue>splitUp-no</defaultValue><allowableValues><allowableValue><displayName>PER_HIT</displayName><value>splitUp-yes</value><description>Flowfile per hit.</description></allowableValue><allowableValue><displayName>PER_RESPONSE</displayName><value>splitUp-no</value><description>Flowfile per response.</description></allowableValue><allowableValue><displayName>PER_QUERY</displayName><value>splitUp-query</value><description>Combine results from all query responses (one flowfile per entire paginated result set of hits). Note that aggregations cannot be paged, they are generated across the entire result set and returned as part of the first page. Results are output with one JSON object per line (allowing hits to be combined from multiple pages without loading all results into memory).</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-format-hits</name><displayName>Search Results Format</displayName><description>Format of Hits output.</description><defaultValue>FULL</defaultValue><allowableValues><allowableValue><displayName>FULL</displayName><value>FULL</value><description>Contains full Elasticsearch Hit, including Document Source and Metadata.</description></allowableValue><allowableValue><displayName>SOURCE_ONLY</displayName><value>SOURCE_ONLY</value><description>Document Source only (where present).</description></allowableValue><allowableValue><displayName>METADATA_ONLY</displayName><value>METADATA_ONLY</value><description>Hit Metadata only.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-split-up-aggregations</name><displayName>Aggregation Results Split</displayName><description>Output a flowfile containing all aggregations or one flowfile for each individual aggregation.</description><defaultValue>splitUp-no</defaultValue><allowableValues><allowableValue><displayName>PER_HIT</displayName><value>splitUp-yes</value><description>Flowfile per hit.</description></allowableValue><allowableValue><displayName>PER_RESPONSE</displayName><value>splitUp-no</value><description>Flowfile per response.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-format-aggregations</name><displayName>Aggregation Results Format</displayName><description>Format of Aggregation output.</description><defaultValue>FULL</defaultValue><allowableValues><allowableValue><displayName>FULL</displayName><value>FULL</value><description>Contains full Elasticsearch Aggregation, including Buckets and Metadata.</description></allowableValue><allowableValue><displayName>BUCKETS_ONLY</displayName><value>BUCKETS_ONLY</value><description>Bucket Content only.</description></allowableValue><allowableValue><displayName>METADATA_ONLY</displayName><value>METADATA_ONLY</value><description>Aggregation Metadata only.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-pagination-type</name><displayName>Pagination Type</displayName><description>Pagination method to use. Not all types are available for all Elasticsearch versions, check the Elasticsearch docs to confirm which are applicable and recommended for your service.</description><defaultValue>pagination-scroll</defaultValue><allowableValues><allowableValue><displayName>SCROLL</displayName><value>pagination-scroll</value><description>Use Elasticsearch "scroll" to page results.</description></allowableValue><allowableValue><displayName>SEARCH_AFTER</displayName><value>pagination-search_after</value><description>Use Elasticsearch "search_after" to page sorted results.</description></allowableValue><allowableValue><displayName>POINT_IN_TIME</displayName><value>pagination-pit</value><description>Use Elasticsearch (7.10+ with XPack) "point in time" to page sorted results.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-pagination-keep-alive</name><displayName>Pagination Keep Alive</displayName><description>Pagination "keep_alive" period. Period Elasticsearch will keep the scroll/pit cursor alive in between requests (this is not the time expected for all pages to be returned, but the maximum allowed time for requests between page retrievals).</description><defaultValue>10 mins</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-output-no-hits</name><displayName>Output No Hits</displayName><description>Output a "hits" flowfile even if no hits found for query. If true, an empty "hits" flowfile will be output even if "aggregations" are output.</description><defaultValue>false</defaultValue><allowableValues><allowableValue><displayName>true</displayName><value>true</value><description></description></allowableValue><allowableValue><displayName>false</displayName><value>false</value><description></description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><dynamicProperties><dynamicProperty><name>The name of a URL query parameter to add</name><value>The value of the URL query parameter</value><description>Adds the specified property name/value as a query parameter in the Elasticsearch URL used for processing. These parameters will override any matching parameters in the query request body</description><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope></dynamicProperty></dynamicProperties><relationships><relationship><name>aggregations</name><description>Aggregations are routed to this relationship.</description><autoTerminated>false</autoTerminated></relationship><relationship><name>hits</name><description>Search hits are routed to this relationship.</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes><writesAttribute><name>mime.type</name><description>application/json</description></writesAttribute><writesAttribute><name>aggregation.name</name><description>The name of the aggregation whose results are in the output flowfile</description></writesAttribute><writesAttribute><name>aggregation.number</name><description>The number of the aggregation whose results are in the output flowfile</description></writesAttribute><writesAttribute><name>page.number</name><description>The number of the page (request) in which the results were returned that are in the output flowfile</description></writesAttribute><writesAttribute><name>hit.count</name><description>The number of hits that are in the output flowfile</description></writesAttribute><writesAttribute><name>elasticsearch.query.error</name><description>The error message provided by Elasticsearch if there is an error querying the index.</description></writesAttribute></writesAttributes><triggerSerially>true</triggerSerially><primaryNodeOnly>true</primaryNodeOnly><stateful><description>The pagination state (scrollId, searchAfter, pitId, hitCount, pageCount, pageExpirationTimestamp) is retained in between invocations of this processor until the Scroll/PiT has expired (when the current time is later than the last query execution plus the Pagination Keep Alive interval).</description><scopes><scope>LOCAL</scope></scopes></stateful><inputRequirement>INPUT_FORBIDDEN</inputRequirement><systemResourceConsiderations><systemResourceConsideration><resource>MEMORY</resource><description>Care should be taken on the size of each page because each response from Elasticsearch will be loaded into memory all at once and converted into the resulting flowfiles.</description></systemResourceConsideration></systemResourceConsiderations><defaultSchedule><strategy>TIMER_DRIVEN</strategy><period>1 min</period><concurrentTasks>1</concurrentTasks></defaultSchedule></extension><extension><name>org.apache.nifi.processors.elasticsearch.UpdateByQueryElasticsearch</name><type>PROCESSOR</type><description>Update documents in an Elasticsearch index using a query. The query can be loaded from a flowfile body or from the Query parameter. The loaded Query can contain any JSON accepted by Elasticsearch's _update_by_query API, for example a "query" object to identify what documents are to be updated, plus a "script" to define the updates to perform.</description><tags><tag>elastic</tag><tag>elasticsearch</tag><tag>elasticsearch5</tag><tag>elasticsearch6</tag><tag>elasticsearch7</tag><tag>elasticsearch8</tag><tag>update</tag><tag>query</tag></tags><properties><property><name>el-rest-query</name><displayName>Query</displayName><description>A query in JSON syntax, not Lucene syntax. Ex: {"query":{"match":{"somefield":"somevalue"}}}. If this parameter is not set, the query will be read from the flowfile content.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-query-attribute</name><displayName>Query Attribute</displayName><description>If set, the executed query will be set on each result flowfile in the specified attribute.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-fetch-index</name><displayName>Index</displayName><description>The name of the index to use.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-type</name><displayName>Type</displayName><description>The type of this document (used by Elasticsearch for indexing and searching).</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>el-rest-client-service</name><displayName>Client Service</displayName><description>An Elasticsearch client service to use for running queries.</description><controllerServiceDefinition><className>org.apache.nifi.elasticsearch.ElasticSearchClientService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-elasticsearch-client-service-api-nar</artifactId><version>1.22.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><dynamicProperties><dynamicProperty><name>The name of a URL query parameter to add</name><value>The value of the URL query parameter</value><description>Adds the specified property name/value as a query parameter in the Elasticsearch URL used for processing. These parameters will override any matching parameters in the query request body</description><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope></dynamicProperty></dynamicProperties><relationships><relationship><name>retry</name><description>All flowfiles that fail due to server/cluster availability go to this relationship.</description><autoTerminated>false</autoTerminated></relationship><relationship><name>success</name><description>If the "by query" operation succeeds, and a flowfile was read, it will be sent to this relationship.</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>If the "by query" operation fails, and a flowfile was read, it will be sent to this relationship.</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes><writesAttribute><name>elasticsearch.update.took</name><description>The amount of time that it took to complete the update operation in ms.</description></writesAttribute><writesAttribute><name>elasticsearch.update.error</name><description>The error message provided by Elasticsearch if there is an error running the update.</description></writesAttribute></writesAttributes><inputRequirement>INPUT_ALLOWED</inputRequirement></extension></extensions></extensionManifest>