In OpenCGA, stats refers to the arrangement of search results into categories based on indexed field. Results are presented as a list of buckets, where each bucket is composed of 1) the field value and 2) a numerical count of how many matching documents were found for that field. In literature, this stats concept is known as facet or faceting as well. In fact, OpenCGA stats are based on Solr faceted search.
In addtion, stats allows users to query:
- Ranges to count how many documents are in an interval of a numerical field.
- Aggregation functions such as average, maximum, minimum, percentiles,...
- Nested faceted search.
The basic syntax for stats (or facets) is:
The field name to produce buckets from. Mandatory.
They are the values of the field name you want to count. They have to be enclosed in square brackets. Optional.
Number of counts to show, i.e., number of buckets. Optional.
Users can query multiple stats by separating field names by semicolons.
When asking for ranges, the result contains multiple buckets over a numeric field. You must specify the field name, the lower and upper bounds and the step or bucket size.
The numeric field name to produce range buckets from. Mandatory
Lower bound of the ranges. Mandatory.
Upper bound of the ranges. Mandatory.
Size of each range bucket produced. Mandatory.
Aggregation functions, also called facet functions, analytic functions, or metrics, calculate something interesting over a domain (each facet bucket).
List of aggregation functions:
Average of numeric values
Number of unique values
Distributed cardinality estimate via hyper-log-log algorithm
Percentile estimates via t-digest algorithm. Calculate the percentiles: 1, 10, 25, 50, 75, 90 and 99th.
Sum of squares of field or function
Nested facets allow users to nest bucketing terms, ranges or aggregations. In order to specify nested facets you must use the symbols >>