You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by rajini maski <ra...@gmail.com> on 2011/03/11 09:34:16 UTC
Query on facet field’s count
Query on facet field results...
When I run a facet query on some field say : facet=on &
facet.field=StudyID I get list of distinct StudyID list with the count that
tells that how many times did this study occur in the search query. But I
also needed the count of these distinct StudyID list.. Any solr query to get
count of it..
Example:
<lst name="*facet_fields*">
<lst name=" StudyID ">
<int name="*105*">135164</int>
<int name="*179*">79820</int>
<int name="*107*">70815</int>
<int name="*120*">37076</int>
<int name="*134*">35276</int>
</lst>
</lst>
I wanted the count attribute that shall return the count of number of
different studyID occurred .. In above example it could be : Count = 5
(105,179,107,120,134)
<lst name="*facet_fields*">
<lst name=" StudyID " COUNT=5 >
<int name="*105*">135164</int>
<int name="*179*">79820</int>
<int name="*107*">70815</int>
<int name="*120*">37076</int>
<int name="*134*">35276</int>
</lst>
</lst>
Re: Query on facet field¹s count
Posted by William Bell <bi...@gmail.com>.
My patch is for 4.0 trunk.
On Fri, Mar 11, 2011 at 10:05 PM, rajini maski <ra...@gmail.com> wrote:
> Thanks Bill Bell . .This query works after applying the patch you refered
> to, is it? Please can you let me know how do I need to update the current
> war (apache solr 1.4.1 )file with this new patch? Thanks a lot.
>
> Thanks,
> Rajani
>
> On Sat, Mar 12, 2011 at 8:56 AM, Bill Bell <bi...@gmail.com> wrote:
>
>> http://localhost:8983/solr/select?q=*:*&facet=true&facet.field=StudyID&face
>> t.mincount=1&facet.limit=-1&f.StudyID.facet.namedistinct=1
>>
>> Would do what you want I believe...
>>
>>
>>
>> On 3/11/11 8:51 AM, "Bill Bell" <bi...@gmail.com> wrote:
>>
>> >There is my patch to do that. SOLR-2242
>> >
>> >Bill Bell
>> >Sent from mobile
>> >
>> >
>> >On Mar 11, 2011, at 1:34 AM, rajini maski <ra...@gmail.com> wrote:
>> >
>> >> Query on facet field results...
>> >>
>> >>
>> >> When I run a facet query on some field say : facet=on &
>> >> facet.field=StudyID I get list of distinct StudyID list with the count
>> >>that
>> >> tells that how many times did this study occur in the search query.
>> >>But I
>> >> also needed the count of these distinct StudyID list.. Any solr query
>> >>to get
>> >> count of it..
>> >>
>> >>
>> >>
>> >> Example:
>> >>
>> >>
>> >>
>> >> <lst name="*facet_fields*">
>> >>
>> >> <lst name=" StudyID ">
>> >>
>> >> <int name="*105*">135164</int>
>> >>
>> >> <int name="*179*">79820</int>
>> >>
>> >> <int name="*107*">70815</int>
>> >>
>> >> <int name="*120*">37076</int>
>> >>
>> >> <int name="*134*">35276</int>
>> >>
>> >> </lst>
>> >>
>> >> </lst>
>> >>
>> >>
>> >>
>> >> I wanted the count attribute that shall return the count of number of
>> >> different studyID occurred .. In above example it could be : Count = 5
>> >> (105,179,107,120,134)
>> >>
>> >>
>> >>
>> >> <lst name="*facet_fields*">
>> >>
>> >> <lst name=" StudyID " COUNT=5 >
>> >>
>> >> <int name="*105*">135164</int>
>> >>
>> >> <int name="*179*">79820</int>
>> >>
>> >> <int name="*107*">70815</int>
>> >>
>> >> <int name="*120*">37076</int>
>> >>
>> >> <int name="*134*">35276</int>
>> >>
>> >> </lst>
>> >>
>> >> </lst>
>>
>>
>>
>
Re: Query on facet field¹s count
Posted by rajini maski <ra...@gmail.com>.
Sorry for the late reply to this thread.
I implemented the same patch (solr 2242 )in Solr 1.4.1. Now I am able to
get distinct facet terms count across single index. But this does not work
for distributed process(sharding)..Is there a recent patch that has same
functionality for distributed process?
It works for the below query:
"
http://localhost:8983/solr/select?q=*:*&facet=true&facet.field=StudyID&facet.mincount=1&facet.limit=-1&f.StudyID.facet.namedistinct=1
"
It doesn't work for :
http://localhost:8983/solr/select?q=*:*&facet=true&facet.field=StudyID&facet.mincount=1&facet.limit=-1&f.StudyID.facet.namedistinct=1
&shards=localhost:8090/solr2
It gets matched result set from both the cores but facet results are only
from first core.
Rajani
On Sat, Mar 12, 2011 at 10:35 AM, rajini maski <ra...@gmail.com>wrote:
> Thanks Bill Bell . .This query works after applying the patch you refered
> to, is it? Please can you let me know how do I need to update the current
> war (apache solr 1.4.1 )file with this new patch? Thanks a lot.
>
> Thanks,
> Rajani
>
> On Sat, Mar 12, 2011 at 8:56 AM, Bill Bell <bi...@gmail.com> wrote:
>
>>
>> http://localhost:8983/solr/select?q=*:*&facet=true&facet.field=StudyID&face
>> t.mincount=1&facet.limit=-1&f.StudyID.facet.namedistinct=1<http://localhost:8983/solr/select?q=*:*&facet=true&facet.field=StudyID&facet.mincount=1&facet.limit=-1&f.StudyID.facet.namedistinct=1>
>>
>> Would do what you want I believe...
>>
>>
>>
>> On 3/11/11 8:51 AM, "Bill Bell" <bi...@gmail.com> wrote:
>>
>> >There is my patch to do that. SOLR-2242
>> >
>> >Bill Bell
>> >Sent from mobile
>> >
>> >
>> >On Mar 11, 2011, at 1:34 AM, rajini maski <ra...@gmail.com> wrote:
>> >
>> >> Query on facet field results...
>> >>
>> >>
>> >> When I run a facet query on some field say : facet=on &
>> >> facet.field=StudyID I get list of distinct StudyID list with the count
>> >>that
>> >> tells that how many times did this study occur in the search query.
>> >>But I
>> >> also needed the count of these distinct StudyID list.. Any solr query
>> >>to get
>> >> count of it..
>> >>
>> >>
>> >>
>> >> Example:
>> >>
>> >>
>> >>
>> >> <lst name="*facet_fields*">
>> >>
>> >> <lst name=" StudyID ">
>> >>
>> >> <int name="*105*">135164</int>
>> >>
>> >> <int name="*179*">79820</int>
>> >>
>> >> <int name="*107*">70815</int>
>> >>
>> >> <int name="*120*">37076</int>
>> >>
>> >> <int name="*134*">35276</int>
>> >>
>> >> </lst>
>> >>
>> >> </lst>
>> >>
>> >>
>> >>
>> >> I wanted the count attribute that shall return the count of number of
>> >> different studyID occurred .. In above example it could be : Count =
>> 5
>> >> (105,179,107,120,134)
>> >>
>> >>
>> >>
>> >> <lst name="*facet_fields*">
>> >>
>> >> <lst name=" StudyID " COUNT=5 >
>> >>
>> >> <int name="*105*">135164</int>
>> >>
>> >> <int name="*179*">79820</int>
>> >>
>> >> <int name="*107*">70815</int>
>> >>
>> >> <int name="*120*">37076</int>
>> >>
>> >> <int name="*134*">35276</int>
>> >>
>> >> </lst>
>> >>
>> >> </lst>
>>
>>
>>
>
Re: Query on facet field¹s count
Posted by rajini maski <ra...@gmail.com>.
Thanks Bill Bell . .This query works after applying the patch you refered
to, is it? Please can you let me know how do I need to update the current
war (apache solr 1.4.1 )file with this new patch? Thanks a lot.
Thanks,
Rajani
On Sat, Mar 12, 2011 at 8:56 AM, Bill Bell <bi...@gmail.com> wrote:
> http://localhost:8983/solr/select?q=*:*&facet=true&facet.field=StudyID&face
> t.mincount=1&facet.limit=-1&f.StudyID.facet.namedistinct=1
>
> Would do what you want I believe...
>
>
>
> On 3/11/11 8:51 AM, "Bill Bell" <bi...@gmail.com> wrote:
>
> >There is my patch to do that. SOLR-2242
> >
> >Bill Bell
> >Sent from mobile
> >
> >
> >On Mar 11, 2011, at 1:34 AM, rajini maski <ra...@gmail.com> wrote:
> >
> >> Query on facet field results...
> >>
> >>
> >> When I run a facet query on some field say : facet=on &
> >> facet.field=StudyID I get list of distinct StudyID list with the count
> >>that
> >> tells that how many times did this study occur in the search query.
> >>But I
> >> also needed the count of these distinct StudyID list.. Any solr query
> >>to get
> >> count of it..
> >>
> >>
> >>
> >> Example:
> >>
> >>
> >>
> >> <lst name="*facet_fields*">
> >>
> >> <lst name=" StudyID ">
> >>
> >> <int name="*105*">135164</int>
> >>
> >> <int name="*179*">79820</int>
> >>
> >> <int name="*107*">70815</int>
> >>
> >> <int name="*120*">37076</int>
> >>
> >> <int name="*134*">35276</int>
> >>
> >> </lst>
> >>
> >> </lst>
> >>
> >>
> >>
> >> I wanted the count attribute that shall return the count of number of
> >> different studyID occurred .. In above example it could be : Count = 5
> >> (105,179,107,120,134)
> >>
> >>
> >>
> >> <lst name="*facet_fields*">
> >>
> >> <lst name=" StudyID " COUNT=5 >
> >>
> >> <int name="*105*">135164</int>
> >>
> >> <int name="*179*">79820</int>
> >>
> >> <int name="*107*">70815</int>
> >>
> >> <int name="*120*">37076</int>
> >>
> >> <int name="*134*">35276</int>
> >>
> >> </lst>
> >>
> >> </lst>
>
>
>
Re: Query on facet field¹s count
Posted by Bill Bell <bi...@gmail.com>.
http://localhost:8983/solr/select?q=*:*&facet=true&facet.field=StudyID&face
t.mincount=1&facet.limit=-1&f.StudyID.facet.namedistinct=1
Would do what you want I believe...
On 3/11/11 8:51 AM, "Bill Bell" <bi...@gmail.com> wrote:
>There is my patch to do that. SOLR-2242
>
>Bill Bell
>Sent from mobile
>
>
>On Mar 11, 2011, at 1:34 AM, rajini maski <ra...@gmail.com> wrote:
>
>> Query on facet field results...
>>
>>
>> When I run a facet query on some field say : facet=on &
>> facet.field=StudyID I get list of distinct StudyID list with the count
>>that
>> tells that how many times did this study occur in the search query.
>>But I
>> also needed the count of these distinct StudyID list.. Any solr query
>>to get
>> count of it..
>>
>>
>>
>> Example:
>>
>>
>>
>> <lst name="*facet_fields*">
>>
>> <lst name=" StudyID ">
>>
>> <int name="*105*">135164</int>
>>
>> <int name="*179*">79820</int>
>>
>> <int name="*107*">70815</int>
>>
>> <int name="*120*">37076</int>
>>
>> <int name="*134*">35276</int>
>>
>> </lst>
>>
>> </lst>
>>
>>
>>
>> I wanted the count attribute that shall return the count of number of
>> different studyID occurred .. In above example it could be : Count = 5
>> (105,179,107,120,134)
>>
>>
>>
>> <lst name="*facet_fields*">
>>
>> <lst name=" StudyID " COUNT=5 >
>>
>> <int name="*105*">135164</int>
>>
>> <int name="*179*">79820</int>
>>
>> <int name="*107*">70815</int>
>>
>> <int name="*120*">37076</int>
>>
>> <int name="*134*">35276</int>
>>
>> </lst>
>>
>> </lst>
Re: Query on facet field’s count
Posted by Bill Bell <bi...@gmail.com>.
There is my patch to do that. SOLR-2242
Bill Bell
Sent from mobile
On Mar 11, 2011, at 1:34 AM, rajini maski <ra...@gmail.com> wrote:
> Query on facet field results...
>
>
> When I run a facet query on some field say : facet=on &
> facet.field=StudyID I get list of distinct StudyID list with the count that
> tells that how many times did this study occur in the search query. But I
> also needed the count of these distinct StudyID list.. Any solr query to get
> count of it..
>
>
>
> Example:
>
>
>
> <lst name="*facet_fields*">
>
> <lst name=" StudyID ">
>
> <int name="*105*">135164</int>
>
> <int name="*179*">79820</int>
>
> <int name="*107*">70815</int>
>
> <int name="*120*">37076</int>
>
> <int name="*134*">35276</int>
>
> </lst>
>
> </lst>
>
>
>
> I wanted the count attribute that shall return the count of number of
> different studyID occurred .. In above example it could be : Count = 5
> (105,179,107,120,134)
>
>
>
> <lst name="*facet_fields*">
>
> <lst name=" StudyID " COUNT=5 >
>
> <int name="*105*">135164</int>
>
> <int name="*179*">79820</int>
>
> <int name="*107*">70815</int>
>
> <int name="*120*">37076</int>
>
> <int name="*134*">35276</int>
>
> </lst>
>
> </lst>
SOLR-2242-distinctFacet.patch
Posted by Isha Garg <is...@orkash.com>.
Hi,
I want to enquire the patch for
namedistinct(SOLR-2242-distinctFacet.patch) available with solr4.0 trunk
On Monday 14 March 2011 08:05 PM, Jonathan Rochkind wrote:
> It's not easy if you have lots of facet values (in my case, can even
> be up to a million), but there is no way built-in to Solr to get
> this. I have been told that some of the faceting strategies (there
> are actually several in use in Solr based on your parameters and the
> nature of your data) return the page of facet values without actually
> counting all possible facet values, which is what would make this
> difficult. But I have not looked at the code myself.
>
> Jonathan
>
> On 3/11/2011 7:33 AM, Erick Erickson wrote:
>> There's nothing that I know of that gives you this, but it's
>> simple to count the members of the list yourself...
>>
>> Best
>> Erick
>>
>> On Fri, Mar 11, 2011 at 3:34 AM, rajini maski<ra...@gmail.com>
>> wrote:
>>> Query on facet field results...
>>>
>>>
>>> When I run a facet query on some field say : facet=on&
>>> facet.field=StudyID I get list of distinct StudyID list with the
>>> count that
>>> tells that how many times did this study occur in the search query.
>>> But I
>>> also needed the count of these distinct StudyID list.. Any solr
>>> query to get
>>> count of it..
>>>
>>>
>>>
>>> Example:
>>>
>>>
>>>
>>> <lst name="*facet_fields*">
>>>
>>> <lst name=" StudyID ">
>>>
>>> <int name="*105*">135164</int>
>>>
>>> <int name="*179*">79820</int>
>>>
>>> <int name="*107*">70815</int>
>>>
>>> <int name="*120*">37076</int>
>>>
>>> <int name="*134*">35276</int>
>>>
>>> </lst>
>>>
>>> </lst>
>>>
>>>
>>>
>>> I wanted the count attribute that shall return the count of number of
>>> different studyID occurred .. In above example it could be : Count
>>> = 5
>>> (105,179,107,120,134)
>>>
>>>
>>>
>>> <lst name="*facet_fields*">
>>>
>>> <lst name=" StudyID " COUNT=5>
>>>
>>> <int name="*105*">135164</int>
>>>
>>> <int name="*179*">79820</int>
>>>
>>> <int name="*107*">70815</int>
>>>
>>> <int name="*120*">37076</int>
>>>
>>> <int name="*134*">35276</int>
>>>
>>> </lst>
>>>
>>> </lst>
>>>
Re: Query on facet field’s count
Posted by Jonathan Rochkind <ro...@jhu.edu>.
It's not easy if you have lots of facet values (in my case, can even be
up to a million), but there is no way built-in to Solr to get this. I
have been told that some of the faceting strategies (there are actually
several in use in Solr based on your parameters and the nature of your
data) return the page of facet values without actually counting all
possible facet values, which is what would make this difficult. But I
have not looked at the code myself.
Jonathan
On 3/11/2011 7:33 AM, Erick Erickson wrote:
> There's nothing that I know of that gives you this, but it's
> simple to count the members of the list yourself...
>
> Best
> Erick
>
> On Fri, Mar 11, 2011 at 3:34 AM, rajini maski<ra...@gmail.com> wrote:
>> Query on facet field results...
>>
>>
>> When I run a facet query on some field say : facet=on&
>> facet.field=StudyID I get list of distinct StudyID list with the count that
>> tells that how many times did this study occur in the search query. But I
>> also needed the count of these distinct StudyID list.. Any solr query to get
>> count of it..
>>
>>
>>
>> Example:
>>
>>
>>
>> <lst name="*facet_fields*">
>>
>> <lst name=" StudyID ">
>>
>> <int name="*105*">135164</int>
>>
>> <int name="*179*">79820</int>
>>
>> <int name="*107*">70815</int>
>>
>> <int name="*120*">37076</int>
>>
>> <int name="*134*">35276</int>
>>
>> </lst>
>>
>> </lst>
>>
>>
>>
>> I wanted the count attribute that shall return the count of number of
>> different studyID occurred .. In above example it could be : Count = 5
>> (105,179,107,120,134)
>>
>>
>>
>> <lst name="*facet_fields*">
>>
>> <lst name=" StudyID " COUNT=5>
>>
>> <int name="*105*">135164</int>
>>
>> <int name="*179*">79820</int>
>>
>> <int name="*107*">70815</int>
>>
>> <int name="*120*">37076</int>
>>
>> <int name="*134*">35276</int>
>>
>> </lst>
>>
>> </lst>
>>
Re: Query on facet field’s count
Posted by Erick Erickson <er...@gmail.com>.
There's nothing that I know of that gives you this, but it's
simple to count the members of the list yourself...
Best
Erick
On Fri, Mar 11, 2011 at 3:34 AM, rajini maski <ra...@gmail.com> wrote:
> Query on facet field results...
>
>
> When I run a facet query on some field say : facet=on &
> facet.field=StudyID I get list of distinct StudyID list with the count that
> tells that how many times did this study occur in the search query. But I
> also needed the count of these distinct StudyID list.. Any solr query to get
> count of it..
>
>
>
> Example:
>
>
>
> <lst name="*facet_fields*">
>
> <lst name=" StudyID ">
>
> <int name="*105*">135164</int>
>
> <int name="*179*">79820</int>
>
> <int name="*107*">70815</int>
>
> <int name="*120*">37076</int>
>
> <int name="*134*">35276</int>
>
> </lst>
>
> </lst>
>
>
>
> I wanted the count attribute that shall return the count of number of
> different studyID occurred .. In above example it could be : Count = 5
> (105,179,107,120,134)
>
>
>
> <lst name="*facet_fields*">
>
> <lst name=" StudyID " COUNT=5 >
>
> <int name="*105*">135164</int>
>
> <int name="*179*">79820</int>
>
> <int name="*107*">70815</int>
>
> <int name="*120*">37076</int>
>
> <int name="*134*">35276</int>
>
> </lst>
>
> </lst>
>