NIFI-12063 Clarified Elasticsearch Query Documentation

Clarify paginated Elasticsearch with SCROLL does not use query parameters from dynamic properties

This closes #7695

Signed-off-by: David Handermann <exceptionfactory@apache.org>
(cherry picked from commit 94bb8aec97e83607f5c084a6261923e224dadc58)
This commit is contained in:
Chris Sampson 2023-09-14 20:34:15 +01:00 committed by exceptionfactory
parent 1f149988c6
commit 36288bcbe1
No known key found for this signature in database
GPG Key ID: 29B6A52D2AAE8DBA
3 changed files with 9 additions and 5 deletions

View File

@ -56,7 +56,9 @@ import java.util.List;
value = "The value of the URL query parameter", value = "The value of the URL query parameter",
expressionLanguageScope = ExpressionLanguageScope.FLOWFILE_ATTRIBUTES, expressionLanguageScope = ExpressionLanguageScope.FLOWFILE_ATTRIBUTES,
description = "Adds the specified property name/value as a query parameter in the Elasticsearch URL used for processing. " + 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") "These parameters will override any matching parameters in the query request body. " +
"For SCROLL type queries, these parameters are only used in the initial (first page) query as the " +
"Elasticsearch Scroll API does not support the same query parameters for subsequent pages of data.")
@SystemResourceConsideration(resource = SystemResource.MEMORY, description = "Care should be taken on the size of each page because each response " + @SystemResourceConsideration(resource = SystemResource.MEMORY, 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.") "from Elasticsearch will be loaded into memory all at once and converted into the resulting flowfiles.")
public class PaginatedJsonQueryElasticsearch extends AbstractPaginatedJsonQueryElasticsearch { public class PaginatedJsonQueryElasticsearch extends AbstractPaginatedJsonQueryElasticsearch {

View File

@ -73,7 +73,9 @@ import java.util.Set;
value = "The value of the URL query parameter", value = "The value of the URL query parameter",
expressionLanguageScope = ExpressionLanguageScope.FLOWFILE_ATTRIBUTES, expressionLanguageScope = ExpressionLanguageScope.FLOWFILE_ATTRIBUTES,
description = "Adds the specified property name/value as a query parameter in the Elasticsearch URL used for processing. " + 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") "These parameters will override any matching parameters in the query request body. " +
"For SCROLL type queries, these parameters are only used in the initial (first page) query as the " +
"Elasticsearch Scroll API does not support the same query parameters for subsequent pages of data.")
@Stateful(scopes = Scope.LOCAL, description = "The pagination state (scrollId, searchAfter, pitId, hitCount, pageCount, pageExpirationTimestamp) " + @Stateful(scopes = Scope.LOCAL, description = "The pagination state (scrollId, searchAfter, pitId, hitCount, pageCount, pageExpirationTimestamp) " +
"is retained in between invocations of this processor until the Scroll/PiT has expired " + "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).") "(when the current time is later than the last query execution plus the Pagination Keep Alive interval).")

View File

@ -22,9 +22,9 @@ import org.apache.nifi.components.DescribedValue;
import java.util.Arrays; import java.util.Arrays;
public enum PaginationType implements DescribedValue { public enum PaginationType implements DescribedValue {
SCROLL("pagination-scroll", "Use Elasticsearch \"scroll\" to page results."), SCROLL("pagination-scroll", "Use Elasticsearch \"_scroll\" API to page results. Does not accept additional query parameters."),
SEARCH_AFTER("pagination-search_after", "Use Elasticsearch \"search_after\" to page sorted results."), SEARCH_AFTER("pagination-search_after", "Use Elasticsearch \"search_after\" _search API to page sorted results."),
POINT_IN_TIME("pagination-pit", "Use Elasticsearch (7.10+ with XPack) \"point in time\" to page sorted results."); POINT_IN_TIME("pagination-pit", "Use Elasticsearch (7.10+ with XPack) \"point in time\" _search API to page sorted results.");
private final String value; private final String value;
private final String description; private final String description;