java.lang.Object
org.elasticsearch.rest.BaseRestHandler
org.elasticsearch.rest.action.search.RestSearchAction
- 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
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final StringIndicates whether hits.total should be rendered as an integer or an object in the rest search response.static final Stringstatic final StringFields inherited from class org.elasticsearch.rest.BaseRestHandler
DEFAULT_INCLUDE_TYPE_NAME_POLICY, INCLUDE_TYPE_NAME_PARAMETER, MULTI_ALLOW_EXPLICIT_INDEX -
Constructor Summary
ConstructorsConstructorDescriptionRestSearchAction(SearchUsageHolder searchUsageHolder, Predicate<NodeFeature> clusterSupportsFeature) -
Method Summary
Modifier and TypeMethodDescriptiongetName()static voidparseSearchRequest(SearchRequest searchRequest, RestRequest request, XContentParser requestContentParser, Predicate<NodeFeature> clusterSupportsFeature, IntConsumer setSize) Parses the rest request on top of the SearchRequest, preserving values that are not overridden by the rest request.static voidparseSearchRequest(SearchRequest searchRequest, RestRequest request, XContentParser requestContentParser, Predicate<NodeFeature> clusterSupportsFeature, IntConsumer setSize, SearchUsageHolder searchUsageHolder) Parses the rest request on top of the SearchRequest, preserving values that are not overridden by the rest request.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.The set of capabilities this rest handler supports.static voidvalidateSearchRequest(RestRequest restRequest, SearchRequest searchRequest) Validates that no search request parameters conflict.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, supportedQueryParameters, supportsBulkContent
-
Field Details
-
TYPES_DEPRECATION_MESSAGE
- See Also:
-
TOTAL_HITS_AS_INT_PARAM
Indicates whether hits.total should be rendered as an integer or an object in the rest search response.- See Also:
-
TYPED_KEYS_PARAM
- See Also:
-
INCLUDE_NAMED_QUERIES_SCORE_PARAM
- See Also:
-
RESPONSE_PARAMS
-
-
Constructor Details
-
RestSearchAction
public RestSearchAction(SearchUsageHolder searchUsageHolder, Predicate<NodeFeature> clusterSupportsFeature)
-
-
Method Details
-
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.
-
routes
Description copied from class:BaseRestHandlerThe list ofRestHandler.Routes that this RestHandler is responsible for handling.- Specified by:
routesin interfaceRestHandler- Specified by:
routesin classBaseRestHandler
-
supportedCapabilities
Description copied from interface:RestHandlerThe set of capabilities this rest handler supports. -
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
-
parseSearchRequest
public static void parseSearchRequest(SearchRequest searchRequest, RestRequest request, XContentParser requestContentParser, Predicate<NodeFeature> clusterSupportsFeature, IntConsumer setSize) throws IOException Parses the rest request on top of the SearchRequest, preserving values that are not overridden by the rest request.- Parameters:
searchRequest- the search request that will hold what gets parsedrequest- the rest request to read fromrequestContentParser- body of the request to read. This method does not attempt to read the body from therequestparameterclusterSupportsFeature- used to check if certain features are available in this clustersetSize- how the size url parameter is handled.udpate_by_queryand regular search differ here.- Throws:
IOException
-
parseSearchRequest
public static void parseSearchRequest(SearchRequest searchRequest, RestRequest request, @Nullable XContentParser requestContentParser, Predicate<NodeFeature> clusterSupportsFeature, IntConsumer setSize, @Nullable SearchUsageHolder searchUsageHolder) throws IOException Parses the rest request on top of the SearchRequest, preserving values that are not overridden by the rest request.- Parameters:
searchRequest- the search request that will hold what gets parsedrequest- the rest request to read fromrequestContentParser- body of the request to read. This method does not attempt to read the body from therequestparameter, will be null when there is no request body to parseclusterSupportsFeature- used to check if certain features are available in this clustersetSize- how the size url parameter is handled.udpate_by_queryand regular search differ here.searchUsageHolder- the holder of search usage stats- Throws:
IOException
-
validateSearchRequest
Validates that no search request parameters conflict. This method might modify the search request to align certain parameters. -
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.
-