Como fazer a elasticsearch adicionar o campo timestamp a cada documento em todos os índices?

peritos em pesquisa elastica,

não consegui encontrar uma forma simples de dizer à ElasticSearch para inserir o campo _timestamp para todos os documentos que são adicionados em todos os índices (e todos os tipos de documentos).

vejo exemplos para tipos específicos: http://www.elasticsearch.org/guide/reference/mapping/timestamp-field/

e também ver exemplo para todos os índices de um tipo específico (usando _todo): http://www.elasticsearch.org/guide/reference/api/admin-indices-put-mapping/

mas sou incapaz de encontrar qualquer documentação sobre adicioná-la por padrão para todos os documentos que são adicionados independentemente do índice e tipo.

Author: Matt Ball, 2013-06-16

2 answers

Você pode fazer isso fornecendo-o ao criar o seu índice.

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

Isso irá então criar automaticamente um _timestamp para todas as coisas que você colocar no índice. Depois de indexar algo ao solicitar o campo _timestamp, ele será devolvido.

 27
Author: Marcus Granström, 2015-08-29 09:00:38

Pesquisa elastica utilizada para suportar automaticamente a adição de datas aos documentos indexados, mas Esta característica em 2, 0

Do mais recente (5.x) documentação:

Os campos _timestamp e _tltl foram desactualizados e agora são removidos. Em substituição do _timestamp, deverá preencher um campo de datas regulares com a data actual no lado da aplicação.

 20
Author: FluxLemur, 2017-04-20 13:36:16