WARNING: Version 1.4 of Elasticsearch has passed its EOL date.
This documentation is no longer being maintained and may be removed. If you are running this version, we strongly advise you to upgrade. For the latest information, see the current release documentation.
_id
edit_id
editEach document indexed is associated with an id and a type. The _id
field can be used to index just the id, and possible also store it. By
default it is not indexed and not stored (thus, not created).
Note, even though the _id is not indexed, all the APIs still work
(since they work with the _uid field), as well as fetching by ids
using term, terms or prefix queries/filters (including the
specific ids query/filter).
The _id field can be enabled to be indexed, and possibly stored,
using the appropriate mapping attributes:
{
"tweet" : {
"_id" : {
"index" : "not_analyzed",
"store" : true
}
}
}
The _id mapping can also be associated with a path that will be used
to extract the id from a different location in the source document. For
example, having the following mapping:
{
"tweet" : {
"_id" : {
"path" : "post_id"
}
}
}
Will cause 1 to be used as the id for:
{
"message" : "You know, for Search",
"post_id" : "1"
}
This does require an additional lightweight parsing step while indexing, in order to extract the id to decide which shard the index operation will be executed on.