The JSON facet API uses the t-digest approach to estimate the percentiles. You can also use Solr Math Expressions to take a random sample from a field and estimate the median from the sample. Here is the Streaming Expression:
let(a=random(collection1, q="*:*", fl="filesize_d", rows="25000"), b=col(a, filesize_d), median=percentile(b, 50)) The example above takes a random sample and sets it to variable "a". Then the filesize_d field from the sample (in variable "a") are copied to a vector and set to variable "b". Then the percentile function is called on the vector and the results are set to variable "median". The results look like this: { "result-set": { "docs": [ { "median": 39980.53459335005 }, { "EOF": true, "RESPONSE_TIME": 365 } ] } } You can adjust the sample size to see how it effects the estimate. Here is the link to Solr Math Expressions in the User Guide: https://lucene.apache.org/solr/guide/7_5/math-expressions.html Joel Bernstein http://joelsolr.blogspot.com/ On Wed, Nov 14, 2018 at 8:21 AM Toke Eskildsen <t...@kb.dk> wrote: > On Wed, 2018-11-14 at 17:53 +0530, Anil wrote: > > I don;t see median aggregation in JSON facet api documentation. > > It's the 50 percentile: > > > > https://lucene.apache.org/solr/guide/7_5/json-facet-api.html#metrics-example > > - Toke Eskildsen, Royal Danish Library > > >