_timestamp deprecated


Is _timestamp meta field is deprecated or just the path on _timestamp?
If it is completely deprecated, why?



Hi. Both are deprecated but they will keep on working for the 2.x series (see https://www.elastic.co/guide/en/elasticsearch/reference/2.1/breaking_20_mapping_changes.html#_literal__timestamp_literal_and_literal__ttl_literal_deprecated ) .

The main reason is that we feel it will be simpler if the ttl logic will work on any field (not only a pre determined fixed _timestamp ).

See also https://github.com/elastic/elasticsearch/issues/15644

@bleskes So why remove _timestamp? just change ttl to work on other user fields as well..
@warkolm I agree with @lam-juice and can add another scenario where system _timestamp field is better then a user date field: A retry scenario, in a case some documents failed to index due to load issues, the user defines "timestamp" field will have to be recalculated and inserted into the index request source....

1 Like

@israel current thinking is to allow you set any date field via the coming Ingest feature, ( https://github.com/elastic/elasticsearch/issues/14049 ).

Sounds very interesting and useful. However, I would not disable a basic system field as timestamp. Parsing and modifying json sources every time, just to have the real timestamp functionality has a performance cost.