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á.