Soru Elasticsearch, tüm indekslerde her bir belgeye zaman damgası alanını nasıl ekler?


Elasticsearch uzmanları,

ElasticSearch'ün tüm indekslere (ve tüm belge türlerine) eklenen tüm belgeler için _timestamp alanını eklemesini söylemek için basit bir yol bulamadım.

Belirli türler için örnek görüyorum: http://www.elasticsearch.org/guide/reference/mapping/timestamp-field/

ve ayrıca belirli bir tür için tüm indisler için örneğe bakın (_all kullanarak): http://www.elasticsearch.org/guide/reference/api/admin-indices-put-mapping/

ancak, dizin ve türden bağımsız olarak eklenen tüm belgeler için varsayılan olarak eklemeyle ilgili herhangi bir belge bulamıyorum.


25
2018-06-16 17:58


Menşei


elastic.co/guide/en/elasticsearch/reference/1.4/... - Christophe Roussy


Cevaplar:


Endeksinizi oluştururken bunu sağlayarak bunu yapabilirsiniz.

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

Bu otomatik olarak bir _timestamp dizine koyduğunuz her şey için. Daha sonra _timestamp alanını istendiğinde bir şeyi indeksledikten sonra geri dönecektir.


27
2018-06-17 11:13



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. - Gautam M
@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
Sorgulama sırasında iade edilmesinin _timestamp için bir alan olarak talep edilmesi gerektiğini unutmayın. {"Alanları" ekleyin: "_ zaman damgası"}. - Jonah Braun
Ayrıca, bu dizinde kayıtlar zaten yapılmışsa, bir eşleştirmenin çalışmaz hale gelmesi tavsiye edilir, bu yüzden bu dizinde kayıt yazmadan önce bir eşleme oluşturduğunuzdan emin olun, aksi takdirde bu mağaza türünü true olarak ayarlarken bir hata alırsınız. -> {"error": "RemoteTransportException [[Damion Hellstrom] [inet [/ xxxx: y]] [indices: admin / mapping / put]]; nested: MergeMappingException [Birleştirme başarısızlıkla başarısız oldu {[mapper [_timestamp] farklı mağaza değerleri]}]; "," durum ": 400}" - John Russell
Bu kullanımdan kaldırıldı. Lütfen bunu dikkatli bir şekilde kullanın. En iyi, kendi tarih alanınızı oluşturmak olacaktır. - Naveen Kumar


Elasticsearch, dizine eklenmiş belgelere otomatik olarak zaman damgaları eklemeyi desteklemek için kullanılır, ancak kullanımdan kaldırıldı bu özellik 2.0.0'da

En son (5.x) belgeleme:

_Timestamp ve _ttl alanları kullanımdan kaldırıldı ve şimdi kaldırıldı. _Timestamp için bir yedek olarak, Uygulama alanında geçerli zaman damgası ile normal bir tarih alanı doldurmalısınız..


19
2018-04-20 13:36