Ich habe eine Solr-Abfrage (Solr Version 6.0.2), die Umsätze pro Tag gruppiert und summiert. Alles funktioniert gut mit folgenden Parametern:Solr json.facet Bereichsabfrage mit Monatsgruppierung
json.facet=sales:{
type:range,
field:date_add,
start:'2016-05-31T22:00:00Z',
end:'2016-10-31T22:59:59Z',
gap:'+1DAY',
facet:{
ordersSum:'sum(sales_value)'
}
}
(Die angegebene Stunde 22.00.00 in Start Parameter wegen der Zeitzone, da Solr hält Daten in UTC und meine Anwendung funktioniert in Europa/Warschau Zeitzone
)Damit habe ich nette Verkaufswerte bekam in Bezug auf Tage zwischen Start angegeben und Ende Parameter. Aber jetzt möchte ich das gleiche tun, aber für den Monat, so will ich Umsatz für Juni, Juli [..] Oktober.
Ich habe herausgefunden, dass, es ist möglich Lücke Parameter ‚+ 1 Monat‘, aber die Werte sind nicht consitent zu ändern, da Monate nicht gleich sind:
"val":"2016-05-31T22:00:00Z",
"val":"2016-06-30T22:00:00Z",
"val":"2016-07-30T22:00:00Z",
"val":"2016-08-30T22:00:00Z",
"val":"2016-09-30T22:00:00Z",
Wie kann es sein, gesehen, die Daten standardmäßig auf die erste aufgetretene niedrigere Anzahl von Tagen (dh. Juli und August haben 31 Tage).
2016-05-31T22:00:00Z/MONTH
Die /Monat Suffix sagt Solr zum ersten Tag des Monats auf Standard, um Mitternacht: Wieder das Problem kann durch Manipulation von Start Parameter zu lösen. Dann abgerufene Daten sieht gut aus:
"val":"2016-06-01T00:00:00Z",
"val":"2016-07-01T00:00:00Z",
"val":"2016-08-01T00:00:00Z",
"val":"2016-09-01T00:00:00Z",
"val":"2016-10-01T00:00:00Z",
Allerdings angegebene Datumswerte sind korrekt für UTC-Zeitzone. Gibt es eine Möglichkeit für Solr, Monate richtig hinzuzufügen oder Zeitzone für Ergebnisse festzulegen?