lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Bell (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (SOLR-2242) Get distinct count of names for a facet field
Date Fri, 29 Apr 2011 03:40:03 GMT

    [ https://issues.apache.org/jira/browse/SOLR-2242?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13026826#comment-13026826
] 

Bill Bell commented on SOLR-2242:
---------------------------------

I am not seeing the performance problem.

If you are outputting facets anyways, the loop and list is going to be called. So in that
case it is as efficient as probably can be.
That is why I had the 0/1/2. I was reusing the code and just looking at the list size:

countFacetTerms.size()
counts.size()

There is a lot of logic in getListedTermCounts() and getTermCountsLimit(). If we optimize,
and just add a counter, we need to make sure 
the new methods are not forgotten about (test cases?). I have seen that happen numerous times.




> Get distinct count of names for a facet field
> ---------------------------------------------
>
>                 Key: SOLR-2242
>                 URL: https://issues.apache.org/jira/browse/SOLR-2242
>             Project: Solr
>          Issue Type: New Feature
>          Components: Response Writers
>    Affects Versions: 4.0
>            Reporter: Bill Bell
>            Priority: Minor
>             Fix For: 4.0
>
>         Attachments: SOLR-2242.patch, SOLR-2242.solr3.1.patch, SOLR.2242.solr3.1.patch,
SOLR.2242.v2.patch
>
>
> When returning facet.field=<name of field> you will get a list of matches for distinct
values. This is normal behavior. This patch tells you how many distinct values you have (#
of rows). Use with limit=-1 and mincount=1.
> The feature is called "namedistinct". Here is an example:
> http://localhost:8983/solr/select?q=*:*&facet=true&facet.field=manu&facet.mincount=1&facet.limit=-1&f.manu.facet.namedistinct=0&facet.field=price&f.price.facet.namedistinct=1
> Here is an example on field "hgid" (without namedistinct):
> {code}
> - <lst name="facet_fields">
> - <lst name="hgid">
>   <int name="HGPY0000045FD36D4000A">1</int> 
>   <int name="HGPY00000FBC6690453A9">1</int> 
>   <int name="HGPY00001E44ED6C4FB3B">1</int> 
>   <int name="HGPY00001FA631034A1B8">1</int> 
>   <int name="HGPY00003317ABAC43B48">1</int> 
>   <int name="HGPY00003A17B2294CB5A">5</int> 
>   <int name="HGPY00003ADD2B3D48C39">1</int> 
>   </lst>
>   </lst>
> {code}
> With namedistinct (HGPY0000045FD36D4000A, HGPY00000FBC6690453A9, HGPY00001E44ED6C4FB3B,
HGPY00001FA631034A1B8, HGPY00003317ABAC43B48, HGPY00003A17B2294CB5A, HGPY00003ADD2B3D48C39).
This returns number of rows (7), not the number of values (11).
> {code}
> - <lst name="facet_fields">
> - <lst name="hgid">
>   <int name="_count_">7</int> 
>   </lst>
>   </lst>
> {code}
> This works actually really good to get total number of fields for a group.field=hgid.
Enjoy!

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message