[[mapping-id-field]] === `_id` Each 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: [source,js] -------------------------------------------------- { "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: [source,js] -------------------------------------------------- { "tweet" : { "_id" : { "path" : "post_id" } } } -------------------------------------------------- Will cause `1` to be used as the id for: [source,js] -------------------------------------------------- { "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.