Class GetRequest
Get a document and its source or stored fields from an index.
By default, this API is realtime and is not affected by the refresh rate of
the index (when data will become visible for search). In the case where
stored fields are requested with the stored_fields
parameter and
the document has been updated but is not yet refreshed, the API will have to
parse and analyze the source to extract the stored fields. To turn off
realtime behavior, set the realtime
parameter to false.
Source filtering
By default, the API returns the contents of the _source
field
unless you have used the stored_fields
parameter or the
_source
field is turned off. You can turn off
_source
retrieval by using the _source
parameter:
GET my-index-000001/_doc/0?_source=false
If you only need one or two fields from the _source
, use the
_source_includes
or _source_excludes
parameters to
include or filter out particular fields. This can be helpful with large
documents where partial retrieval can save on network overhead Both
parameters take a comma separated list of fields or wildcard expressions. For
example:
GET my-index-000001/_doc/0?_source_includes=*.id&_source_excludes=entities
If you only want to specify includes, you can use a shorter notation:
GET my-index-000001/_doc/0?_source=*.id
Routing
If routing is used during indexing, the routing value also needs to be specified to retrieve a document. For example:
GET my-index-000001/_doc/2?routing=user1
This request gets the document with ID 2, but it is routed based on the user. The document is not fetched if the correct routing is not specified.
Distributed
The GET operation is hashed into a specific shard ID. It is then redirected to one of the replicas within that shard ID and returns the result. The replicas are the primary shard and its replicas within that shard ID group. This means that the more replicas you have, the better your GET scaling will be.
Versioning support
You can use the version
parameter to retrieve the document only
if its current version is equal to the specified one.
Internally, Elasticsearch has marked the old document as deleted and added an entirely new document. The old version of the document doesn't disappear immediately, although you won't be able to access it. Elasticsearch cleans up deleted documents in the background as you continue to index more data.
- See Also:
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class co.elastic.clients.elasticsearch._types.RequestBase
RequestBase.AbstractBuilder<BuilderT extends RequestBase.AbstractBuilder<BuilderT>>
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic <TDocument>
Endpoint<GetRequest,GetResponse<TDocument>, ErrorResponse> createGetEndpoint
(JsonpDeserializer<TDocument> tDocumentDeserializer) Create an "get
" endpoint.final Boolean
Indicates whether the request forces synthetic_source
.final String
id()
Required - A unique document identifier.final String
index()
Required - The name of the index that contains the document.static GetRequest
final String
The node or shard the operation should be performed on.final Boolean
realtime()
Iftrue
, the request is real-time as opposed to near-real-time.final Boolean
refresh()
Iftrue
, the request refreshes the relevant shards before retrieving the document.final String
routing()
A custom value used to route operations to a specific shard.final SourceConfigParam
source()
Indicates whether to return the_source
field (true
orfalse
) or lists the fields to return.A comma-separated list of source fields to exclude from the response.A comma-separated list of source fields to include in the response.A comma-separated list of stored fields to return as part of a hit.final Long
version()
The version number for concurrency control.final VersionType
The version type.Methods inherited from class co.elastic.clients.elasticsearch._types.RequestBase
toString
-
Field Details
-
_ENDPOINT
Endpoint "get
".
-
-
Method Details
-
of
-
source
Indicates whether to return the_source
field (true
orfalse
) or lists the fields to return.API name:
_source
-
sourceExcludes
A comma-separated list of source fields to exclude from the response. You can also use this parameter to exclude fields from the subset specified in_source_includes
query parameter. If the_source
parameter isfalse
, this parameter is ignored.API name:
_source_excludes
-
sourceIncludes
A comma-separated list of source fields to include in the response. If this parameter is specified, only these source fields are returned. You can exclude fields from this subset using the_source_excludes
query parameter. If the_source
parameter isfalse
, this parameter is ignored.API name:
_source_includes
-
forceSyntheticSource
Indicates whether the request forces synthetic_source
. Use this paramater to test if the mapping supports synthetic_source
and to get a sense of the worst case performance. Fetches with this parameter enabled will be slower than enabling synthetic source natively in the index.API name:
force_synthetic_source
-
id
Required - A unique document identifier.API name:
id
-
index
Required - The name of the index that contains the document.API name:
index
-
preference
The node or shard the operation should be performed on. By default, the operation is randomized between the shard replicas.If it is set to
_local
, the operation will prefer to be run on a local allocated shard when possible. If it is set to a custom value, the value is used to guarantee that the same shards will be used for the same custom value. This can help with "jumping values" when hitting different shards in different refresh states. A sample value can be something like the web session ID or the user name.API name:
preference
-
realtime
Iftrue
, the request is real-time as opposed to near-real-time.API name:
realtime
-
refresh
Iftrue
, the request refreshes the relevant shards before retrieving the document. Setting it totrue
should be done after careful thought and verification that this does not cause a heavy load on the system (and slow down indexing).API name:
refresh
-
routing
A custom value used to route operations to a specific shard.API name:
routing
-
storedFields
A comma-separated list of stored fields to return as part of a hit. If no fields are specified, no stored fields are included in the response. If this field is specified, the_source
parameter defaults tofalse
. Only leaf fields can be retrieved with thestored_field
option. Object fields can't be returned;if specified, the request fails.API name:
stored_fields
-
version
The version number for concurrency control. It must match the current version of the document for the request to succeed.API name:
version
-
versionType
The version type.API name:
version_type
-
createGetEndpoint
public static <TDocument> Endpoint<GetRequest,GetResponse<TDocument>, createGetEndpointErrorResponse> (JsonpDeserializer<TDocument> tDocumentDeserializer) Create an "get
" endpoint.
-