Warum kann ich das Feld _timestamp nicht sehen, während ich eine Abfrage filtern kann?Zurückgeben des Zeitstempelfelds in elasticsearch
Die folgende Abfrage gibt die richtigen Dokumente, aber nicht den Zeitstempel selbst zurück. Wie kann ich den Zeitstempel zurückgeben?
{
"fields": [
"_timestamp",
"_source"
],
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"range": {
"_timestamp": {
"from": "2013-01-01"
}
}
}
}
}
}
Die Abbildung ist:
{
"my_doctype": {
"_timestamp": {
"enabled": "true"
},
"properties": {
"cards": {
"type": "integer"
}
}
}
}
Beispielausgabe:
{
"took" : 1,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"failed" : 0
},
"hits" : {
"total" : 2,
"max_score" : 1.0,
"hits" : [ {
"_index" : "test1",
"_type" : "doctype1",
"_id" : "HjfryYQEQL6RkEX3VOiBHQ",
"_score" : 1.0, "_source" : {"cards": "5"}
}, {
"_index" : "test1",
"_type" : "doctype1",
"_id" : "sDyHcT1BTMatjmUS0NSoEg",
"_score" : 1.0, "_source" : {"cards": "2"}
}]
}
Danke. Als Nebenbemerkung, wenn ich meine Mapping jetzt auf den vorhandenen Index aktualisieren, haben neue Datensätze den Zeitstempel als gespeichert und nicht alt? oder wird alte Aufzeichnung gespeichert? – eran
Sie können diese Zuordnung für einen vorhandenen Typ nicht aktualisieren. Die _timestamp-Zuordnung kann nur bei der Typerstellung festgelegt werden. – imotov