1- studentId has docValue = true . it is of type double which is <fieldType name="double" class="solr.TrieDoubleField" indexed="false" stored="true" docValues="true" multiValued="false" required="false"/>
2- If we just facet without aggregation it finishes in good time 60ms: json.facet={ studentId:{ type:terms, limit:-1, field:" studentId " } } Thanks -----Original Message----- From: Vijay Tiwary [mailto:vijaykr.tiw...@gmail.com] Sent: Sunday, April 30, 2017 10:44 AM To: solr-user@lucene.apache.org Subject: RE: JSON facet performance for aggregations Please enable doc values and try. There is a bug in the source code which causes json facet on string field to run very slow. On numeric fields it runs fine with doc value enabled. On Apr 30, 2017 1:41 PM, "Mikhail Ibraheem" <mikhail.ibrah...@oracle.com> wrote: > Hi Vijay, > It is already numeric field. > It is huge difference between json and flat here. Do you know the > reason for this? Is there a way to improve it ? > > -----Original Message----- > From: Vijay Tiwary [mailto:vijaykr.tiw...@gmail.com] > Sent: Sunday, April 30, 2017 9:58 AM > To: solr-user@lucene.apache.org > Subject: Re: JSON facet performance for aggregations > > Json facet on string fields run lot slower than on numeric fields. Try > and see if you can represent studentid as a numeric field. > > On Apr 30, 2017 1:19 PM, "Mikhail Ibraheem" > <mikhail.ibrah...@oracle.com> > wrote: > > > Hi, > > > > I am trying to do aggregation with JSON faceting but performance is > > very bad for one of the requests: > > > > json.facet={ > > > > studentId:{ > > > > type:terms, > > > > limit:-1, > > > > field:"studentId", > > > > facet:{ > > > > x:"sum(grades)" > > > > } > > > > } > > > > } > > > > > > > > This request finishes in 250 seconds, and we can't paginate for this > > service for functional reason so we have to use limit:-1, and the > > cardinality of the studentId is 7500. > > > > > > > > If I try the same with flat facet it finishes in 3 seconds : > > stats=true&facet=true&stats.field={!tag=piv1 > > sum=true}grades&facet.pivot={!stats=piv1}studentId > > > > > > > > We are hoping to use one approach json or flat for all our services. > > JSON facet performance is better for many case. > > > > > > > > Please advise on why the performance for this is so bad and if we > > can improve it. Also what is the default algorithm used for json facet. > > > > > > > > Thanks > > > > Mikhail > > >