Ich versuche, einen Datumsbereich Abfrage mit Datumsberechnungen in Elasticsearch zu tun, und es ist die Rückkehr keine Ergebnisse:Elasticsearch query_string mit Datum Mathe
`query: {
bool: {
must: {
query_string: {
query: "created_at:[now-1m/d TO now/d+1d]", default_operator: "AND", analyzer: "my_text"}
}
}
}
}`
die Abfrage ändert aktuelles Datum enthält funktioniert: „created_at: [2017.07.25 TO 2017.08.25]“
ich habe auch versucht, eine Abhilfe durch eine query_string mit einer Reihe Abfrage kombinieren, aber das ergab keine Ergebnisse entweder:
`query: {
bool: {
must: [
{query_string: {query: "", default_operator: "AND", analyzer: "my_text"}},
{range: {"created_at"=>{from: "now-1m/d", to: "now/d+1d"}}}]
}
}
}`
Verwenden von d ate Mathe der richtigen Zählungen in aggs besagt:
`aggs: {
created_at: {
date_range: {
field: "created_at", keyed: true, ranges: [
{from: "now/d", to: "now/d+1d", key: "Today"},
{from: "now-1d/d", to: "now/d+1d", key: "In the last day"},
{from: "now-7d/d", to: "now/d+1d", key: "In the last week"},
{from: "now-1M/d", to: "now/d+1d", key: "In the last month"}
]
}
}
}`
Does Datum Mathe Arbeit mit Elasticsearch query_string Abfrage? Und wenn nicht, was ist der richtige Workaround?
Sie haben Recht, aber selbst wenn ich es in ein M ändere, gibt es immer noch 0 Ergebnisse. query: {query_string: {query: "created_at: [jetzt-1M/d bis jetzt/d + 1d]", default_operator: "AND", analyzer: "my_text"} .... Ich habe versucht, mit ein paar anderen herumzuspielen Optionen sowohl 30d als auch 1Y funktionieren, also denke ich, es gibt ein Problem mit Monatsdatum Mathe. Beide funktionieren: "created_at: [now-30d/d bis jetzt/d + 1d]", "created_at: [jetzt-1Yd/d bis jetzt/d + 1d]" – painbot