2015-07-15 6 views
5

I miei dati Solr come segue:Come ottenere somma di una colonna raggruppando numero di giorni 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" 
     } 
} 

voglio ottenere somma di TOTAL_AMOUNT raggruppando mese. Quindi la risposta di uscita sarà il seguente:

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

sto usando qui di seguito query per data risposta, ma la sua dandomi solo numero di occorrenze.

query e la risposta come segue:

{ 
    "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": {} 
    } 

} 

risposta

2

Le operazioni come la somma non possono essere risolti con Tentoni ...

provare con http://wiki.apache.org/solr/StatsComponent

+0

Allora mi puoi dire qualsiasi altro modo per raggiungere questa cosa. Le statistiche –

+0

potrebbero essere l'opzione http://wiki.apache.org/solr/StatsComponent –

+0

Ma le statistiche non hanno gruppo per opzione. –

3

Prova questa ricerca:

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

Questo è da solr-ref-guide.

L'Statistiche Componente accetta i seguenti parametri:

stats | Se true, quindi richiama il componente Stats.

stats.field | Specifica un campo per il quale le statistiche devono essere generate . Questo parametro può essere richiamato più volte in una query nell'ordine per richiedere statistiche su più campi. (Vedere l'esempio qui sotto)

stats.facet | Restituisce risultati secondari per i valori all'interno della faccetta specificata.

Ho testato la query utilizzando i dati dalla directory/es/examplesdoc SOLR_HOME dopo aver eseguito 'java-jar post.jar * .xml'

Questo è stato un po 'del risultato.

 
"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: Grazie per la tua modifica. Mi sono reso conto che il tuo nome è stato rimosso dopo aver effettuato un altro aggiornamento. Quindi, vi lascio un messaggio di ringraziamento qui. – Jihwan

+0

Np, non ho fatto questa modifica per vedere il mio nome;) – alexf

Problemi correlati