Module org.elasticsearch.server
Class RestMultiSearchAction
java.lang.Object
org.elasticsearch.rest.BaseRestHandler
org.elasticsearch.rest.action.search.RestMultiSearchAction
- All Implemented Interfaces:
RestHandler
-
Nested Class Summary
Nested classes/interfaces inherited from class org.elasticsearch.rest.BaseRestHandler
BaseRestHandler.RequestBodyChunkConsumer, BaseRestHandler.RestChannelConsumerNested classes/interfaces inherited from interface org.elasticsearch.rest.RestHandler
RestHandler.Route -
Field Summary
Fields inherited from class org.elasticsearch.rest.BaseRestHandler
MULTI_ALLOW_EXPLICIT_INDEX -
Constructor Summary
ConstructorsConstructorDescriptionRestMultiSearchAction(Settings settings, SearchUsageHolder searchUsageHolder, Predicate<NodeFeature> clusterSupportsFeature) -
Method Summary
Modifier and TypeMethodDescriptiongetName()static voidparseMultiLineRequest(RestRequest request, IndicesOptions indicesOptions, boolean allowExplicitIndex, CheckedBiConsumer<SearchRequest, XContentParser, IOException> consumer) Parses a multi-lineRestRequestbody, instantiating aSearchRequestfor each line and applying the given consumer.static voidparseMultiLineRequest(RestRequest request, IndicesOptions indicesOptions, boolean allowExplicitIndex, CheckedBiConsumer<SearchRequest, XContentParser, IOException> consumer, TriFunction<String, Object, SearchRequest, Boolean> extraParamParser) Parses a multi-lineRestRequestbody, instantiating aSearchRequestfor each line and applying the given consumer.static MultiSearchRequestparseRequest(RestRequest restRequest, boolean allowExplicitIndex, SearchUsageHolder searchUsageHolder, Predicate<NodeFeature> clusterSupportsFeature) Parses aRestRequestbody and returns aMultiSearchRequeststatic MultiSearchRequestparseRequest(RestRequest restRequest, boolean allowExplicitIndex, SearchUsageHolder searchUsageHolder, Predicate<NodeFeature> clusterSupportsFeature, TriFunction<String, Object, SearchRequest, Boolean> extraParamParser) Parses aRestRequestbody and returns aMultiSearchRequest.prepareRequest(RestRequest request, NodeClient client) Prepare the request for execution.Parameters used for controlling the response and thus might not be consumed during preparation of the request execution inBaseRestHandler.prepareRequest(RestRequest, NodeClient).routes()The list ofRestHandler.Routes that this RestHandler is responsible for handling.booleanIndicates if the RestHandler supports bulk content.Methods inherited from class org.elasticsearch.rest.BaseRestHandler
getUsageCount, handleRequest, responseParams, unrecognizedMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.elasticsearch.rest.RestHandler
allowSystemIndexAccessByDefault, allSupportedParameters, canTripCircuitBreaker, getConcreteRestHandler, getServerlessScope, mediaTypesValid, supportedCapabilities, supportedQueryParameters
-
Constructor Details
-
RestMultiSearchAction
public RestMultiSearchAction(Settings settings, SearchUsageHolder searchUsageHolder, Predicate<NodeFeature> clusterSupportsFeature)
-
-
Method Details
-
routes
Description copied from class:BaseRestHandlerThe list ofRestHandler.Routes that this RestHandler is responsible for handling.- Specified by:
routesin interfaceRestHandler- Specified by:
routesin classBaseRestHandler
-
getName
- Specified by:
getNamein interfaceRestHandler- Specified by:
getNamein classBaseRestHandler- Returns:
- the name of this handler. The name should be human readable and
should describe the action that will performed when this API is
called. This name is used in the response to the
RestNodesUsageAction.
-
prepareRequest
public BaseRestHandler.RestChannelConsumer prepareRequest(RestRequest request, NodeClient client) throws IOException Description copied from class:BaseRestHandlerPrepare the request for execution. Implementations should consume all request params before returning the runnable for actual execution. Unconsumed params will immediately terminate execution of the request. However, some params are only used in processing the response; implementations can overrideBaseRestHandler.responseParams()to indicate such params.- Specified by:
prepareRequestin classBaseRestHandler- Parameters:
request- the request to executeclient- client for executing actions on the local node- Returns:
- the action to execute
- Throws:
IOException- if an I/O exception occurred parsing the request and preparing for execution
-
parseRequest
public static MultiSearchRequest parseRequest(RestRequest restRequest, boolean allowExplicitIndex, SearchUsageHolder searchUsageHolder, Predicate<NodeFeature> clusterSupportsFeature) throws IOException Parses aRestRequestbody and returns aMultiSearchRequest- Throws:
IOException
-
parseRequest
public static MultiSearchRequest parseRequest(RestRequest restRequest, boolean allowExplicitIndex, SearchUsageHolder searchUsageHolder, Predicate<NodeFeature> clusterSupportsFeature, TriFunction<String, Object, throws IOExceptionSearchRequest, Boolean> extraParamParser) Parses aRestRequestbody and returns aMultiSearchRequest. This variation allows the caller to specify if wait_for_checkpoints functionality is supported.- Throws:
IOException
-
parseMultiLineRequest
public static void parseMultiLineRequest(RestRequest request, IndicesOptions indicesOptions, boolean allowExplicitIndex, CheckedBiConsumer<SearchRequest, XContentParser, throws IOExceptionIOException> consumer) Parses a multi-lineRestRequestbody, instantiating aSearchRequestfor each line and applying the given consumer.- Throws:
IOException
-
parseMultiLineRequest
public static void parseMultiLineRequest(RestRequest request, IndicesOptions indicesOptions, boolean allowExplicitIndex, CheckedBiConsumer<SearchRequest, XContentParser, throws IOExceptionIOException> consumer, TriFunction<String, Object, SearchRequest, Boolean> extraParamParser) Parses a multi-lineRestRequestbody, instantiating aSearchRequestfor each line and applying the given consumer. This variation allows the caller to provider a param parser.- Throws:
IOException
-
supportsBulkContent
public boolean supportsBulkContent()Description copied from interface:RestHandlerIndicates if the RestHandler supports bulk content. A bulk request contains multiple objects delineated byXContent.bulkSeparator(). If a handler returns true this will affect the types of content that can be sent to this endpoint. -
responseParams
Description copied from class:BaseRestHandlerParameters used for controlling the response and thus might not be consumed during preparation of the request execution inBaseRestHandler.prepareRequest(RestRequest, NodeClient).- Overrides:
responseParamsin classBaseRestHandler- Returns:
- a set of parameters used to control the response and thus should not trip strict URL parameter checks.
-