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.Wrapper
Nested classes/interfaces inherited from interface org.elasticsearch.rest.RestHandler
RestHandler.Route
-
Field Summary
Modifier and TypeFieldDescriptionstatic String
Indicates whether hits.total should be rendered as an integer or an object in the rest search response.static String
static String
Fields inherited from class org.elasticsearch.rest.BaseRestHandler
DEFAULT_INCLUDE_TYPE_NAME_POLICY, INCLUDE_TYPE_NAME_PARAMETER, logger, MULTI_ALLOW_EXPLICIT_INDEX
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
Indicates if the RestHandler supports working with pooled buffers.static void
checkRestTotalHits(RestRequest restRequest, SearchRequest searchRequest)
Modify the search request to accurately count the total hits that match the query ifTOTAL_HITS_AS_INT_PARAM
is set.getName()
static void
parseSearchRequest(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.Route
s that this RestHandler is responsible for handling.Methods inherited from class org.elasticsearch.rest.BaseRestHandler
getUsageCount, handleRequest, unrecognized
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods 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:
getName
in 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:BaseRestHandler
The list ofRestHandler.Route
s that this RestHandler is responsible for handling.- Specified by:
routes
in interfaceRestHandler
- Specified by:
routes
in classBaseRestHandler
-
prepareRequest
public BaseRestHandler.RestChannelConsumer prepareRequest(RestRequest request, NodeClient client) throws IOExceptionDescription copied from class:BaseRestHandler
Prepare 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:
prepareRequest
in 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 therequest
parametersetSize
- how the size url parameter is handled.udpate_by_query
and 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_PARAM
is set.- Throws:
IllegalArgumentException
- ifTOTAL_HITS_AS_INT_PARAM
is 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:BaseRestHandler
Parameters used for controlling the response and thus might not be consumed during preparation of the request execution inBaseRestHandler.prepareRequest(RestRequest, NodeClient)
.- Overrides:
responseParams
in 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:RestHandler
Indicates 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 theRestRequest
instance 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
-