My solr data as follows:
{
{
"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"
}
}
I want to get sum of total_amount by grouping month. So the output response will be as follows:
{
"2015-07-01T00:00:00Z" : 300,
"2015-06-01T00:00:00Z" : 700
}
I'm using below query for given response but its giving me only number of occurrences.
Query and response as follows:
{
"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": {}
}
}
Try this query:
stats=true&stats.field=total_amount&stats.facet=created_at
This is from solr-ref-guide.
The Stats Component accepts the following parameters:
stats | If true, then invokes the Stats component.
stats.field | Specifies a field for which statistics should be generated. This parameter may be invoked multiple times in a query in order to request statistics on multiple fields. (See the example below.)
stats.facet | Returns sub-results for values within the specified facet.
I tested the query using data from SOLR_HOME/example/examplesdoc directory after running 'java -jar post.jar *.xml'
This was some of the result.
"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":{}}}}}}}}
The operations like sum cannot be worked out with Groping...
try with http://wiki.apache.org/solr/StatsComponent
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With