Konvertieren von Zeichenfolgen schwebt mit aggregation Zeit?
Gibt es eine Möglichkeit zur Konvertierung von Zeichenfolgen zu Schwimmern bei der Angabe einer Histogramm-aggregation? Da ich Dokumente mit Feldern, die schwimmt, aber nicht analysiert von elasticsearch als solche, und wenn ich Versuch zu tun, eine Summe über ein string-Feld wirft Es den nächsten Fehler.
ClassCastException[org.elasticsearch.index.fielddata.plain.PagedBytesIndexFieldData
cannot be cast to org.elasticsearch.index.fielddata.IndexNumericFieldData]}]"
Ich weiß, ich könnte das mapping ändern, aber für den Anwendungsfall, den ich habe, wäre es praktisch, wenn ich
könnte angeben, so etwas wie "script : _value.tofloat()" beim schreiben der
aggregation für das Feld.
Dies ist mein code:
{
"query" : {
"bool": {"
must": [
{"match": { "sensorId": "D14UD021808ARZC" }},
{"match": { "variableName": "CAUDAL"}}
]
}
},
"aggs" : {
"caudal_per_month" : {
"date_histogram" : {
"field" : "timestamp",
"interval" : "month"
},
"aggs": {
"totalmonth": {
"sum": {
"field": "value",
"script" : "_value*1.0"
}
}
}
}
}
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie diese
Für ein Feld, das heißt
value
:Float.parseFloat(doc['value'].value)
value
ist das Feld und die die Feld-accessor?doc['value']
ist die accessor-und.value
ist sein Wert.