2013-06-16 21 views
20

Elasticsearch uzmanlar,. http://www.elasticsearch.org/guide/reference/mapping/timestamp-field/Elasticsearch nasıl yapılır? Tüm indekslerde her bir belgeye zaman damgası alanı eklenir? Ben sadece tüm indeksleri (ve tüm belge türleri) eklenir tüm belgeler için _timestamp alanı eklemek için ElasticSearch anlatmak için basit bir yol bulamadı olmuştur</p> <p>

ve ayrıca (_all kullanarak) belirli bir türü için tüm endekslerin için örneğe bakın:

Belirli türleri için örneğe bakın http://www.elasticsearch.org/guide/reference/api/admin-indices-put-mapping/

ama bunu eklemekle ilgili herhangi bir belge bulamadı dizin ve türden bağımsız olarak eklenen tüm belgeler için varsayılan değer.

+0

https://www.elastic.co/guide/en/elasticsearch/reference/1.4/indices-create-index.html –

cevap

26

endeksinizi oluştururken bunu sağlayarak bunu yapabilirsiniz. Daha sonra otomatik olarak dizine koymak tüm şeyler için bir _timestamp yaratacak

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

. Ardından, _timestamp alanı istendiğinde bir şeyi dizine ekledikten sonra geri dönecektir.

+0

Bu çalıştı. Teşekkürler Marcus. Bunu, tüm endeksler için genel bir ayar olarak tanımlayamayacağınızı kabul ediyorum. Elasticsearch başlık eklentisini kullanarak bunu denemek isteyen herkes için, GET'i değil, POST isteğini belirttiğinizden emin olun. –

+0

@Marcus - Bunu denedim. Kibana3 görselleştirmede _idestamp'u _id, _index ve _type ile aynı şekilde göremiyorum. Neden olduğu hakkında bir fikrin var mı? – liv2hak

+1

Sorgulama sırasında iade edilmek için _timestamp alanının bir alan olarak talep edilmesi gerektiğini unutmayın. {"Alanları" ekleyin: "_ zaman damgası"}. –

6

Elasticsearch dizine alınmasını belgelere damgaları ekleyerek otomatik desteklemek için kullanılan, ancak deprecated this feature 2.0.0

yılında documentation En son (5.x) Gönderen:

_timestamp ve _ttl alanları kaldırılmış edildi ve şimdi kaldırıldı. _timestamp, için bir yedek olarak, uygulama alanı'daki geçerli zaman damgası ile normal bir tarih alanı doldurmalısınız.