2015-07-15 4 views
5

Meine solr Daten Anzahl der Tage, die Gruppierung wie folgt:Wie Summe einer Spalte erhalten, indem in SOLR

{ 
     { 
     "total_amount": 100, 
     "created_at": "2015-07-08T18:30:00Z" 
     }, 
     { 
     "total_amount": 200, 
     "created_at": "2015-07-08T18:30:00Z" 
     }, 
     { 
     "total_amount": 300, 
     "created_at": "2015-06-08T18:30:00Z" 
     }, 
     { 
     "total_amount": 400, 
     "created_at": "2015-06-08T18:30:00Z" 
     } 
} 

Ich möchte durch die Gruppierung Monat Summe von TOTAL_AMOUNT zu bekommen. So wird die Ausgangsantwort wie folgt:

{ 
    "2015-07-01T00:00:00Z" : 300, 
    "2015-06-01T00:00:00Z" : 700 
} 

ich für gegebene Antwort unten Abfrage bin mit aber die mir nur Anzahl von Vorkommen gibt.

Abfrage und Antwort wie folgt:

{ 
    "responseHeader": { 
    "status": 0, 
    "QTime": 2, 
    "params": { 
    "facet.date.start": "2015-04-01T00:00:00Z", 
    "facet": "true", 
    "fl": "created_at,total_amount", 
    "q": "campaign_id:1", 
    "facet.date": "created_at", 
    "facet.date.gap": "+1MONTH", 
    "wt": "json", 
    "facet.date.end": "2015-09-01T00:00:00Z" 
    } 
    }, 
    "response": { 
    "numFound": 3, 
    "start": 0, 
    "docs": [ 
    { 
    "total_amount": 100, 
    "created_at": "2015-07-08T18:30:00Z" 
    }, 
    { 
    "total_amount": 100, 
    "created_at": "2015-07-08T18:30:00Z" 
    }, 
    { 
    "total_amount": 100, 
    "created_at": "2015-07-08T18:30:00Z" 
    } 
    ] 
    }, 
    "facet_counts": { 
    "facet_queries": {}, 
    "facet_fields": {}, 
    "facet_dates": { 
    "created_at": { 
    "2015-04-01T00:00:00Z": 0, 
    "2015-05-01T00:00:00Z": 0, 
    "2015-06-01T00:00:00Z": 0, 
    "2015-07-01T00:00:00Z": 3, 
    "2015-08-01T00:00:00Z": 0, 
    "gap": "+1MONTH", 
    "start": "2015-04-01T00:00:00Z", 
    "end": "2015-09-01T00:00:00Z" 
    } 
    }, 
    "facet_ranges": {}, 
    "facet_intervals": {}, 
    "facet_heatmaps": {} 
    } 

} 

Antwort

2

Die Operationen wie Summe kann nicht mit Groping ...

versuchen mit http://wiki.apache.org/solr/StatsComponent

+0

Dann können Sie irgendeine andere Art und Weise sagen Sie mir, diese Sache zu erreichen. –

+0

Statistiken könnten die Option sein http://wiki.apache.org/solr/StatsComponent –

+0

Aber Statistiken hat keine Gruppe nach Wahl. –

3

Diese Abfrage ausgearbeitet werden:

stats=true&stats.field=total_amount&stats.facet=created_at 

Dies ist von solr-ref-guide.

Die Statistik-Komponente übernimmt die folgenden Parameter:

Statistiken | Wenn wahr, ruft die Stats-Komponente auf.

stats.field | Gibt ein Feld an, für das die Statistik generiert werden soll. Dieser Parameter kann mehrmals in einer Abfrage in aufgerufen werden, um Statistiken für mehrere Felder anzufordern. (Siehe das folgende Beispiel .)

stats.facet | Gibt Unterergebnisse für Werte innerhalb der angegebenen Facette zurück.

Getestet habe ich die Abfrage von Daten aus SOLR_HOME/example/examplesdoc Verzeichnis nach dem Ausführen 'java -jar post.jar * .xml'

Dies war ein Teil der belegt wird.

 
"belkin":{ 
    "min":11.5, 
    "max":19.950000762939453, 
    "count":2, 
    "missing":0, 
    "sum":31.450000762939453, 
    "sumOfSquares":530.2525304412848, 
    "mean":15.725000381469727, 
    "stddev":5.975052840505987, 
    "facets":{}}, 
    "maxtor":{ 
    "min":350.0, 
    "max":350.0, 
    "count":1, 
    "missing":0, 
    "sum":350.0, 
    "sumOfSquares":122500.0, 
    "mean":350.0, 
    "stddev":0.0, 
    "facets":{}}, 
    "inc":{ 
    "min":179.99000549316406, 
    "max":2199.0, 
    "count":5, 
    "missing":0, 
    "sum":3587.8900299072266, 
    "sumOfSquares":5366417.4268503785, 
    "mean":717.5780059814454, 
    "stddev":835.4379769780703, 
    "facets":{}}}}}}}} 
+0

@alexf: Danke für deine Bearbeitung. Ich habe festgestellt, dass dein Name entfernt wurde, nachdem ich ein neues Update vorgenommen habe. Also, ich überlasse Ihnen hier eine Dankesnachricht. – Jihwan

+0

Nein, ich habe diese Änderung nicht gemacht, um meinen Namen zu sehen;) – alexf

Verwandte Themen