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