update type index for fields fielddata disabled create mapping timestamp elasticsearch

mapping - type - keyword elasticsearch



¿Cómo hacer que elasticsearch agregue el campo de marca de tiempo a cada documento en todos los índices? (2)

Expertos de Elasticsearch,

No he podido encontrar una forma sencilla de decirle a ElasticSearch que inserte el campo _timestamp para todos los documentos que se agregan en todos los índices (y en todos los tipos de documentos).

Veo un ejemplo para tipos específicos: http://www.elasticsearch.org/guide/reference/mapping/timestamp-field/

y también vea ejemplos para todos los índices para un tipo específico (usando _todos): http://www.elasticsearch.org/guide/reference/api/admin-indices-put-mapping/

pero no puedo encontrar ninguna documentación sobre cómo agregarlo de manera predeterminada para todos los documentos que se agregan independientemente del índice y tipo.


Elasticsearch solía admitir automáticamente las marcas de tiempo en los documentos que se indexaban, pero desaprobó esta función en 2.0.0

De la documentación más reciente (5.x):

Los campos _timestamp y _ttl han quedado obsoletos y ahora se eliminan. Como reemplazo de _timestamp, debe llenar un campo de fecha regular con la marca de tiempo actual en el lado de la aplicación .


Puede hacer esto proporcionándolo al crear su índice.

$curl -XPOST localhost:9200/test -d ''{ "settings" : { "number_of_shards" : 1 }, "mappings" : { "_default_":{ "_timestamp" : { "enabled" : true, "store" : true } } } }''

Eso creará automáticamente una _timestamp para todo lo que coloque en el índice. Luego, después de indexar algo al solicitar el campo _timestamp, se devolverá.