[
https://issues.apache.org/jira/browse/SOLR-5972?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14091573#comment-14091573
]
Hoss Man commented on SOLR-5972:
--------------------------------
Elran:
I appreciate that you've put a lot of work into trying to improve the
{{stats.facet}} feature of StatsComponent, but personally i don't think it's
really wise for us to be pursuing multiple divergent sets of "facet" code in
Solr. The existing "StatsComponent Faceting" code has always felt like a
kludge to me and has never worked as well or gotten as developer attention as
the FacetComponent.
I think in the long run, implementing things like SOLR-6351 to let people
_combine_ StatsComponent with FacetComponent, and deprecating {{stats.facet}}
completely will make a lot more sense, and be a lot more powerful.
> new statistics facet capabilities to StatsComponent facet - limit, sort and
> missing.
> ------------------------------------------------------------------------------------
>
> Key: SOLR-5972
> URL: https://issues.apache.org/jira/browse/SOLR-5972
> Project: Solr
> Issue Type: New Feature
> Reporter: Elran Dvir
> Attachments: SOLR-5972.patch, SOLR-5972.patch
>
>
> I thought it would be very useful to enable limiting and sorting
> StatsComponent facet response.
> I chose to implement it in Stats Component rather than Analytics component
> because Analytics doesn't support distributed queries yet.
> The default for limit is -1 - returns all facet values.
> The default for sort is no sorting.
> The default for missing is true.
> So if you use stats component exactly as before, the response won't change as
> of nowadays.
> If ask for sort or limit, missing facet value will be the last, as in regular
> facet.
> Sort types supported: min, max, sum and countdistinct for stats fields, and
> count and index for facet fields (all sort types are lower cased).
> Sort directions asc and desc are supported.
> Sorting by multiple fields is supported.
> our example use case will be employees' monthly salaries:
> The follwing query returns the 10 most "expensive" employees:
> "q=*:*&stats=true&stats.field=salary&stats.facet=employee_name&f.employee_name.stats.facet.sort=salary
> sum desc&f.employee_name.stats.facet.limit=10"
> The follwing query returns the 10 least "expensive" employees:
> "q=*:*&stats=true&stats.field=salary&stats.facet=employee_name&f.employee_name.stats.facet.sort=salary
> sum asc&f.employee_name.stats.facet.limit=10"
> The follwing query returns the employee that got the highest salary ever:
> "q=*:*&stats=true&stats.field=salary&stats.facet=employee_name&f.employee_name.stats.facet.sort=salary
> max desc&f.employee_name.stats.facet.limit=1"
> The follwing query returns the employee that got the lowest salary ever:
> "q=*:*&stats=true&stats.field=salary&stats.facet=employee_name&f.employee_name.stats.facet.sort=salary
> min asc&f.employee_name.stats.facet.limit=1"
> The follwing query returns the 10 first (lexicographically) employees:
> "q=*:*&stats=true&stats.field=salary&stats.facet=employee_name&f.employee_name.stats.facet.sort=employee_name
> index asc&f.employee_name.stats.facet.limit=10"
> The follwing query returns the 10 employees that have worked for the longest
> period:
> "q=*:*&stats=true&stats.field=salary&stats.facet=employee_name&f.employee_name.stats.facet.sort=employee_name
> count desc&f.employee_name.stats.facet.limit=10"
> The follwing query returns the 10 employee whose salaries vary the most:
> "q=*:*&stats=true&stats.field=salary&stats.facet=employee_name&f.employee_name.stats.facet.sort=salary
> countdistinct desc&f.employee_name.stats.facet.limit=10"
> Attached a patch implementing this in StatsComponent.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]