Class RestSearchAction
- java.lang.Object
-
- org.elasticsearch.rest.BaseRestHandler
-
- org.elasticsearch.rest.action.search.RestSearchAction
-
- All Implemented Interfaces:
RestHandler
public class RestSearchAction extends BaseRestHandler
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.elasticsearch.rest.BaseRestHandler
BaseRestHandler.RestChannelConsumer
-
-
Field Summary
Fields Modifier and Type Field Description static StringTOTAL_HITS_AS_INT_PARAMIndicates whether hits.total should be rendered as an integer or an object in the rest search response.static StringTYPED_KEYS_PARAMstatic StringTYPES_DEPRECATION_MESSAGE-
Fields inherited from class org.elasticsearch.rest.BaseRestHandler
DEFAULT_INCLUDE_TYPE_NAME_POLICY, INCLUDE_TYPE_NAME_PARAMETER, logger, MULTI_ALLOW_EXPLICIT_INDEX
-
-
Constructor Summary
Constructors Constructor Description RestSearchAction(RestController controller)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.StringgetName()static voidparseSearchRequest(SearchRequest searchRequest, RestRequest request, XContentParser requestContentParser, IntConsumer setSize)Parses the rest request on top of the SearchRequest, preserving values that are not overridden by the rest request.BaseRestHandler.RestChannelConsumerprepareRequest(RestRequest request, NodeClient client)Prepare the request for execution.protected Set<String>responseParams()Parameters used for controlling the response and thus might not be consumed during preparation of the request execution inBaseRestHandler.prepareRequest(RestRequest, NodeClient).-
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
canTripCircuitBreaker, supportsContentStream
-
-
-
-
Field Detail
-
TOTAL_HITS_AS_INT_PARAM
public static final String 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
public static final String TYPED_KEYS_PARAM
- See Also:
- Constant Field Values
-
TYPES_DEPRECATION_MESSAGE
public static final String TYPES_DEPRECATION_MESSAGE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
RestSearchAction
public RestSearchAction(RestController controller)
-
-
Method Detail
-
getName
public String 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.
-
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, IntConsumer setSize) throws IOException
Parses 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
public 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_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
protected Set<String> 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.
-
-