Class RestSearchAction
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.RestChannelConsumer, BaseRestHandler.WrapperNested classes/interfaces inherited from interface org.elasticsearch.rest.RestHandler
RestHandler.Route -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic StringIndicates whether hits.total should be rendered as an integer or an object in the rest search response.static Stringstatic StringFields inherited from class org.elasticsearch.rest.BaseRestHandler
DEFAULT_INCLUDE_TYPE_NAME_POLICY, INCLUDE_TYPE_NAME_PARAMETER, logger, MULTI_ALLOW_EXPLICIT_INDEX -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanIndicates if the RestHandler supports working with pooled buffers.static voidcheckRestTotalHits(RestRequest restRequest, SearchRequest searchRequest)Modify the search request to accurately count the total hits that match the query ifTOTAL_HITS_AS_INT_PARAMis set.getName()static voidparseSearchRequest(SearchRequest searchRequest, RestRequest request, org.elasticsearch.common.xcontent.XContentParser requestContentParser, NamedWriteableRegistry namedWriteableRegistry, IntConsumer setSize)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.Methods inherited from class org.elasticsearch.rest.BaseRestHandler
getUsageCount, handleRequest, 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, canTripCircuitBreaker, supportsContentStream
-
Field Details
-
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:
- Constant Field Values
-
TYPED_KEYS_PARAM
- See Also:
- Constant Field Values
-
TYPES_DEPRECATION_MESSAGE
- See Also:
- Constant Field Values
-
-
Constructor Details
-
RestSearchAction
public RestSearchAction()
-
-
Method Details
-
getName
- 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
-
prepareRequest
public BaseRestHandler.RestChannelConsumer prepareRequest(RestRequest request, NodeClient client) throws IOExceptionDescription 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, org.elasticsearch.common.xcontent.XContentParser requestContentParser, NamedWriteableRegistry namedWriteableRegistry, IntConsumer setSize) throws IOExceptionParses the rest request on top of the SearchRequest, preserving values that are not overridden by the rest request.- Parameters:
requestContentParser- body of the request to read. This method does not attempt to read the body from therequestparametersetSize- how the size url parameter is handled.udpate_by_queryand regular search differ here.- Throws:
IOException
-
checkRestTotalHits
Modify the search request to accurately count the total hits that match the query ifTOTAL_HITS_AS_INT_PARAMis set.- Throws:
IllegalArgumentException- ifTOTAL_HITS_AS_INT_PARAMis used in conjunction with a lower bound value (other thanSearchContext.DEFAULT_TRACK_TOTAL_HITS_UP_TO) for the track_total_hits option.
-
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.
-
allowsUnsafeBuffers
public boolean allowsUnsafeBuffers()Description copied from interface:RestHandlerIndicates if the RestHandler supports working with pooled buffers. If the request handler will not escape the returnRestRequest.content()or any buffers extracted from it then there is no need to make a copies of any pooled buffers in theRestRequestinstance before passing a request to this handler. If this instance does not support pooled/unsafe buffersRestRequest.ensureSafeBuffers()should be called on any request before passing it toRestHandler.handleRequest(org.elasticsearch.rest.RestRequest, org.elasticsearch.rest.RestChannel, org.elasticsearch.client.node.NodeClient).- Returns:
- true iff the handler supports requests that make use of pooled buffers
-