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 "Nguyen, Vincent (CDC/OD/OADS) (CTR)" <vn...@cdc.gov> on 2010/10/04 15:36:59 UTC

multi level faceting

Hi,

 

I was wondering if there's a way to display facet options based on
previous facet values.  For example, I've seen many shopping sites where
a user can facet by "Mens" or "Womens" apparel, then be shown "sizes" to
facet by (for Men or Women only - whichever they chose).  

 

Is this something that would have to be handled at the application
level?

 

Vincent Vu Nguyen



 


Re: multi level faceting

Posted by Peter Karich <pe...@yahoo.de>.
Hi,

there are two relative similar solutions for this problem.

I will describe one of them:
 * create a multivalued string field called 'category'
 * you have a category tree. so make sure a document gets not only the
leaf category, but all categories (name or id) until the root
 * now facet over category with '-1' as limit
 * What if you want to display only the categories of one level? (e.g.
if you don't want other level at a time or if they are too much).
   then use index the category field ala <level>_category and use
facet.prefix to filter the category list
 * clicking on a category entry should result in a filter query ala
fq=category:"selectedCategoryWithLevel"
   the little tricky part is now that your UI or middle tier has to
parse the level e.g. 2 and the append 2+1=3 to the query: facet.prefix=3_
 * if you filter the level then one question remains:
    Q: how can you display the path from the selected category until the
root category?
    A: Either get the category parents via DB (which is easy if you
store the category ids in solr) or
    get the parents from the parameter list which is a bit more
complicated (in this case I think it is best to  store the category
names in solr).

(The second approach is: instead of using facet.prefix you can use
dynamic fields ala category_<level>_s)

Did this explaination is missing sth. or unclear?

Kind Regards,
Peter.

> Hi,
>
> there is a solution without the patch. Here it should be explained:
> http://www.lucidimagination.com/blog/2010/08/11/stumped-with-solr-chris-hostetter-of-lucene-pmc-at-lucene-revolution/
>
> If not, I will do on 9.10.2010 ;-)
>
> Regards,
> Peter.
>
>   
>> I've a similar problem with a project I'm working on now.  I am holding out for either SOLR-64 or SOLR-792 being a bit more mature before I need the functionality but if not I was thinking I could do multi-level faceting by indexing the data as a "String" like this:
>>
>> id: 1
>> SHOE: Sneakers|Men|Size 7
>>
>> id: 2
>> SHOE: Sneakers|Men|Size 8
>>
>> id: 3
>> SHOE: Sneakers|Women|Size 6
>>
>> etc
>>
>> and then in the UI, show just up to the first delimiter (you'll have to sum the counts in the UI too).  Once the user clicks on "Sneakers", you would then add fq=SHOE:Sneakers|* to the query and then show the values up to the 2nd delimiter, etc.  
>>
>> Alternatively, if you didn't want to use a wildcard query, you could index each level separately like this:
>>
>> id: 1
>> SHOE1: Sneakers
>> SHOE2: Sneakers|Men
>> SHOE3: Sneakers|Men|Size 7
>>
>> Then after the user clicks on the 1st level, fq on SHOE1 and show SHOE2, etc.  This wouldn't work so well if you had more than a few levels in your hierarchy.
>>
>> I haven't actually tried this and like I said I'm hoping I could just use a patch (really I hope 3.x gets released GA with the functionality but I won't hold my breath...)  But I do think this would work in a pinch if need be.
>>
>> James Dyer
>> E-Commerce Systems
>> Ingram Content Group
>> (615) 213-4311
>>
>>
>> -----Original Message-----
>> From: Nguyen, Vincent (CDC/OD/OADS) (CTR) [mailto:vng0@cdc.gov] 
>> Sent: Tuesday, October 05, 2010 8:22 AM
>> To: solr-user@lucene.apache.org
>> Subject: RE: multi level faceting
>>
>> Just to clarify, the effect I was look for was this.  
>>
>> Sneakers
>>    Men (22)
>>    Women (43)
>>
>> AFTER a user filters by one of those, they would be presented with a NEW
>> facet field such as 
>>
>> Sneakers
>>    Men
>>       Size 7 (10)
>>       Size 8 (11)
>>       Size 9 (23)
>>
>> Vincent Vu Nguyen
>>
>> -----Original Message-----
>> From: Otis Gospodnetic [mailto:otis_gospodnetic@yahoo.com] 
>> Sent: Monday, October 04, 2010 11:44 PM
>> To: solr-user@lucene.apache.org
>> Subject: Re: multi level faceting
>>
>> Hi,
>>
>> I *think* this is not what Vincent was after.  If I read the suggestions
>>
>> correctly, you are saying to use &fq=x&fq=y -- multiple fqs.
>> But I think Vincent is wondering how to end up with something that will
>> let him 
>> create a UI with multi-level facets (with a single request), e.g.
>>
>> Footwear (100)
>>   Sneakers (20)
>>     Men (1)
>>     Women (19)
>>
>>   Dancing shoes (10)
>>     Men (0)
>>     Women (10)
>> ...
>>
>> If this is what Vincent was after, I'd love to hear suggestions myself.
>> :)
>>
>> Otis
>> ----
>> Sematext :: http://sematext.com/ :: Solr - Lucene - Nutch
>> Lucene ecosystem search :: http://search-lucene.com/
>>
>>
>>
>> ----- Original Message ----
>>   
>>     
>>> From: Jason Brown <Ja...@sjp.co.uk>
>>> To: solr-user@lucene.apache.org
>>> Sent: Mon, October 4, 2010 11:34:56 AM
>>> Subject: RE: multi level faceting
>>>
>>> Yes, by adding fq back into the main query you will get results
>>>     
>>>       
>> increasingly  
>>   
>>     
>>> filtered each time.
>>>
>>> You may run into an issue if you are displaying facet  counts, as the
>>>     
>>>       
>> facet 
>>   
>>     
>>> part of the query will also obey the increasingly filtered  fq, and so
>>>     
>>>       
>> not 
>>   
>>     
>>> display counts for other categories anymore from the chosen facet
>>>     
>>>       
>> (depends if 
>>   
>>     
>>> you need to display counts from a facet once the first value from  the
>>>     
>>>       
>> facet has 
>>   
>>     
>>> been chosen if you get my drift). Local params are a way to deal  with
>>>     
>>>       
>> this by 
>>   
>>     
>>> not subjecting the facet count to the same fq restriction (but
>>>     
>>>       
>> allowing the 
>>   
>>     
>>> search results to obey it).
>>>
>>>
>>>
>>> -----Original  Message-----
>>> From: Nguyen, Vincent (CDC/OD/OADS) (CTR) [mailto:vng0@cdc.gov]
>>> Sent: Mon 04/10/2010  16:34
>>> To: solr-user@lucene.apache.org
>>> Subject:  RE: multi level faceting
>>>
>>> Ok.  Thanks for the quick  response.
>>>
>>> Vincent Vu Nguyen
>>> Division of Science Quality and  Translation
>>> Office of the Associate Director for Science
>>> Centers for  Disease Control and Prevention (CDC)
>>> 404-498-6154
>>> Century Bldg  2400
>>> Atlanta, GA 30329 
>>>
>>>
>>> -----Original Message-----
>>> From:  Allistair Crossley [mailto:ali@roxxor.co.uk] 
>>> Sent: Monday, October  04, 2010 9:40 AM
>>> To: solr-user@lucene.apache.org
>>> Subject:  Re: multi level faceting
>>>
>>> I think that is just sending 2 fq facet queries  through. In Solr PHP
>>>     
>>>       
>> I
>>   
>>     
>>> would do that with, e.g.
>>>
>>> $params['facet'] =  true;
>>> $params['facet.fields'] = array('Size');
>>> $params['fq'] =>  array('sex' => array('Men', 'Women'));
>>>
>>> but yes i think you'd have to  send through what the current facet
>>>     
>>>       
>> query
>>   
>>     
>>> is and add it to your next  drill-down
>>>
>>> On Oct 4, 2010, at 9:36 AM, Nguyen, Vincent (CDC/OD/OADS)  (CTR)
>>>     
>>>       
>> wrote:
>>   
>>     
>>>     
>>>       
>>>> Hi,
>>>>
>>>>
>>>>
>>>> I was wondering  if there's a way to display facet options based on
>>>> previous facet  values.  For example, I've seen many shopping sites
>>>>       
>>>>         
>>> where
>>>     
>>>       
>>>> a user  can facet by "Mens" or "Womens" apparel, then be shown
>>>>       
>>>>         
>> "sizes"
>>   
>>     
>>> to
>>>     
>>>       
>>>>  facet by (for Men or Women only - whichever they chose).  
>>>>
>>>>
>>>>
>>>> Is this something that would have to be handled at the  application
>>>> level?
>>>>
>>>>
>>>>
>>>> Vincent Vu  Nguyen
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>       
>>>>         
>>>
>>>
>>> If you  wish to view the St. James's Place email disclaimer, please
>>>     
>>>       
>> use the 
>>   
>>     
>>> link  below
>>>
>>> http://www.sjp.co.uk/portal/internet/SJPemaildisclaimer
>>>
>>>     
>>>       
>>   
>>     
>
>   


-- 
http://jetwick.com twitter search prototype


Re: multi level faceting

Posted by Peter Karich <pe...@yahoo.de>.
Hi,

there is a solution without the patch. Here it should be explained:
http://www.lucidimagination.com/blog/2010/08/11/stumped-with-solr-chris-hostetter-of-lucene-pmc-at-lucene-revolution/

If not, I will do on 9.10.2010 ;-)

Regards,
Peter.

> I've a similar problem with a project I'm working on now.  I am holding out for either SOLR-64 or SOLR-792 being a bit more mature before I need the functionality but if not I was thinking I could do multi-level faceting by indexing the data as a "String" like this:
>
> id: 1
> SHOE: Sneakers|Men|Size 7
>
> id: 2
> SHOE: Sneakers|Men|Size 8
>
> id: 3
> SHOE: Sneakers|Women|Size 6
>
> etc
>
> and then in the UI, show just up to the first delimiter (you'll have to sum the counts in the UI too).  Once the user clicks on "Sneakers", you would then add fq=SHOE:Sneakers|* to the query and then show the values up to the 2nd delimiter, etc.  
>
> Alternatively, if you didn't want to use a wildcard query, you could index each level separately like this:
>
> id: 1
> SHOE1: Sneakers
> SHOE2: Sneakers|Men
> SHOE3: Sneakers|Men|Size 7
>
> Then after the user clicks on the 1st level, fq on SHOE1 and show SHOE2, etc.  This wouldn't work so well if you had more than a few levels in your hierarchy.
>
> I haven't actually tried this and like I said I'm hoping I could just use a patch (really I hope 3.x gets released GA with the functionality but I won't hold my breath...)  But I do think this would work in a pinch if need be.
>
> James Dyer
> E-Commerce Systems
> Ingram Content Group
> (615) 213-4311
>
>
> -----Original Message-----
> From: Nguyen, Vincent (CDC/OD/OADS) (CTR) [mailto:vng0@cdc.gov] 
> Sent: Tuesday, October 05, 2010 8:22 AM
> To: solr-user@lucene.apache.org
> Subject: RE: multi level faceting
>
> Just to clarify, the effect I was look for was this.  
>
> Sneakers
>    Men (22)
>    Women (43)
>
> AFTER a user filters by one of those, they would be presented with a NEW
> facet field such as 
>
> Sneakers
>    Men
>       Size 7 (10)
>       Size 8 (11)
>       Size 9 (23)
>
> Vincent Vu Nguyen
>
> -----Original Message-----
> From: Otis Gospodnetic [mailto:otis_gospodnetic@yahoo.com] 
> Sent: Monday, October 04, 2010 11:44 PM
> To: solr-user@lucene.apache.org
> Subject: Re: multi level faceting
>
> Hi,
>
> I *think* this is not what Vincent was after.  If I read the suggestions
>
> correctly, you are saying to use &fq=x&fq=y -- multiple fqs.
> But I think Vincent is wondering how to end up with something that will
> let him 
> create a UI with multi-level facets (with a single request), e.g.
>
> Footwear (100)
>   Sneakers (20)
>     Men (1)
>     Women (19)
>
>   Dancing shoes (10)
>     Men (0)
>     Women (10)
> ...
>
> If this is what Vincent was after, I'd love to hear suggestions myself.
> :)
>
> Otis
> ----
> Sematext :: http://sematext.com/ :: Solr - Lucene - Nutch
> Lucene ecosystem search :: http://search-lucene.com/
>
>
>
> ----- Original Message ----
>   
>> From: Jason Brown <Ja...@sjp.co.uk>
>> To: solr-user@lucene.apache.org
>> Sent: Mon, October 4, 2010 11:34:56 AM
>> Subject: RE: multi level faceting
>>
>> Yes, by adding fq back into the main query you will get results
>>     
> increasingly  
>   
>> filtered each time.
>>
>> You may run into an issue if you are displaying facet  counts, as the
>>     
> facet 
>   
>> part of the query will also obey the increasingly filtered  fq, and so
>>     
> not 
>   
>> display counts for other categories anymore from the chosen facet
>>     
> (depends if 
>   
>> you need to display counts from a facet once the first value from  the
>>     
> facet has 
>   
>> been chosen if you get my drift). Local params are a way to deal  with
>>     
> this by 
>   
>> not subjecting the facet count to the same fq restriction (but
>>     
> allowing the 
>   
>> search results to obey it).
>>
>>
>>
>> -----Original  Message-----
>> From: Nguyen, Vincent (CDC/OD/OADS) (CTR) [mailto:vng0@cdc.gov]
>> Sent: Mon 04/10/2010  16:34
>> To: solr-user@lucene.apache.org
>> Subject:  RE: multi level faceting
>>
>> Ok.  Thanks for the quick  response.
>>
>> Vincent Vu Nguyen
>> Division of Science Quality and  Translation
>> Office of the Associate Director for Science
>> Centers for  Disease Control and Prevention (CDC)
>> 404-498-6154
>> Century Bldg  2400
>> Atlanta, GA 30329 
>>
>>
>> -----Original Message-----
>> From:  Allistair Crossley [mailto:ali@roxxor.co.uk] 
>> Sent: Monday, October  04, 2010 9:40 AM
>> To: solr-user@lucene.apache.org
>> Subject:  Re: multi level faceting
>>
>> I think that is just sending 2 fq facet queries  through. In Solr PHP
>>     
> I
>   
>> would do that with, e.g.
>>
>> $params['facet'] =  true;
>> $params['facet.fields'] = array('Size');
>> $params['fq'] =>  array('sex' => array('Men', 'Women'));
>>
>> but yes i think you'd have to  send through what the current facet
>>     
> query
>   
>> is and add it to your next  drill-down
>>
>> On Oct 4, 2010, at 9:36 AM, Nguyen, Vincent (CDC/OD/OADS)  (CTR)
>>     
> wrote:
>   
>>     
>>> Hi,
>>>
>>>
>>>
>>> I was wondering  if there's a way to display facet options based on
>>> previous facet  values.  For example, I've seen many shopping sites
>>>       
>> where
>>     
>>> a user  can facet by "Mens" or "Womens" apparel, then be shown
>>>       
> "sizes"
>   
>> to
>>     
>>>  facet by (for Men or Women only - whichever they chose).  
>>>
>>>
>>>
>>> Is this something that would have to be handled at the  application
>>> level?
>>>
>>>
>>>
>>> Vincent Vu  Nguyen
>>>
>>>
>>>
>>>
>>>
>>>       
>>
>>
>>
>> If you  wish to view the St. James's Place email disclaimer, please
>>     
> use the 
>   
>> link  below
>>
>> http://www.sjp.co.uk/portal/internet/SJPemaildisclaimer
>>
>>     
>   


-- 
http://jetwick.com twitter search prototype


RE: multi level faceting

Posted by "Dyer, James" <Ja...@ingrambook.com>.
I've a similar problem with a project I'm working on now.  I am holding out for either SOLR-64 or SOLR-792 being a bit more mature before I need the functionality but if not I was thinking I could do multi-level faceting by indexing the data as a "String" like this:

id: 1
SHOE: Sneakers|Men|Size 7

id: 2
SHOE: Sneakers|Men|Size 8

id: 3
SHOE: Sneakers|Women|Size 6

etc

and then in the UI, show just up to the first delimiter (you'll have to sum the counts in the UI too).  Once the user clicks on "Sneakers", you would then add fq=SHOE:Sneakers|* to the query and then show the values up to the 2nd delimiter, etc.  

Alternatively, if you didn't want to use a wildcard query, you could index each level separately like this:

id: 1
SHOE1: Sneakers
SHOE2: Sneakers|Men
SHOE3: Sneakers|Men|Size 7

Then after the user clicks on the 1st level, fq on SHOE1 and show SHOE2, etc.  This wouldn't work so well if you had more than a few levels in your hierarchy.

I haven't actually tried this and like I said I'm hoping I could just use a patch (really I hope 3.x gets released GA with the functionality but I won't hold my breath...)  But I do think this would work in a pinch if need be.

James Dyer
E-Commerce Systems
Ingram Content Group
(615) 213-4311


-----Original Message-----
From: Nguyen, Vincent (CDC/OD/OADS) (CTR) [mailto:vng0@cdc.gov] 
Sent: Tuesday, October 05, 2010 8:22 AM
To: solr-user@lucene.apache.org
Subject: RE: multi level faceting

Just to clarify, the effect I was look for was this.  

Sneakers
   Men (22)
   Women (43)

AFTER a user filters by one of those, they would be presented with a NEW
facet field such as 

Sneakers
   Men
      Size 7 (10)
      Size 8 (11)
      Size 9 (23)

Vincent Vu Nguyen

-----Original Message-----
From: Otis Gospodnetic [mailto:otis_gospodnetic@yahoo.com] 
Sent: Monday, October 04, 2010 11:44 PM
To: solr-user@lucene.apache.org
Subject: Re: multi level faceting

Hi,

I *think* this is not what Vincent was after.  If I read the suggestions

correctly, you are saying to use &fq=x&fq=y -- multiple fqs.
But I think Vincent is wondering how to end up with something that will
let him 
create a UI with multi-level facets (with a single request), e.g.

Footwear (100)
  Sneakers (20)
    Men (1)
    Women (19)

  Dancing shoes (10)
    Men (0)
    Women (10)
...

If this is what Vincent was after, I'd love to hear suggestions myself.
:)

Otis
----
Sematext :: http://sematext.com/ :: Solr - Lucene - Nutch
Lucene ecosystem search :: http://search-lucene.com/



----- Original Message ----
> From: Jason Brown <Ja...@sjp.co.uk>
> To: solr-user@lucene.apache.org
> Sent: Mon, October 4, 2010 11:34:56 AM
> Subject: RE: multi level faceting
> 
> Yes, by adding fq back into the main query you will get results
increasingly  
>filtered each time.
> 
> You may run into an issue if you are displaying facet  counts, as the
facet 
>part of the query will also obey the increasingly filtered  fq, and so
not 
>display counts for other categories anymore from the chosen facet
(depends if 
>you need to display counts from a facet once the first value from  the
facet has 
>been chosen if you get my drift). Local params are a way to deal  with
this by 
>not subjecting the facet count to the same fq restriction (but
allowing the 
>search results to obey it).
> 
> 
> 
> -----Original  Message-----
> From: Nguyen, Vincent (CDC/OD/OADS) (CTR) [mailto:vng0@cdc.gov]
> Sent: Mon 04/10/2010  16:34
> To: solr-user@lucene.apache.org
> Subject:  RE: multi level faceting
> 
> Ok.  Thanks for the quick  response.
> 
> Vincent Vu Nguyen
> Division of Science Quality and  Translation
> Office of the Associate Director for Science
> Centers for  Disease Control and Prevention (CDC)
> 404-498-6154
> Century Bldg  2400
> Atlanta, GA 30329 
> 
> 
> -----Original Message-----
> From:  Allistair Crossley [mailto:ali@roxxor.co.uk] 
> Sent: Monday, October  04, 2010 9:40 AM
> To: solr-user@lucene.apache.org
> Subject:  Re: multi level faceting
> 
> I think that is just sending 2 fq facet queries  through. In Solr PHP
I
> would do that with, e.g.
> 
> $params['facet'] =  true;
> $params['facet.fields'] = array('Size');
> $params['fq'] =>  array('sex' => array('Men', 'Women'));
> 
> but yes i think you'd have to  send through what the current facet
query
> is and add it to your next  drill-down
> 
> On Oct 4, 2010, at 9:36 AM, Nguyen, Vincent (CDC/OD/OADS)  (CTR)
wrote:
> 
> > Hi,
> > 
> > 
> > 
> > I was wondering  if there's a way to display facet options based on
> > previous facet  values.  For example, I've seen many shopping sites
> where
> > a user  can facet by "Mens" or "Womens" apparel, then be shown
"sizes"
> to
> >  facet by (for Men or Women only - whichever they chose).  
> > 
> > 
> > 
> > Is this something that would have to be handled at the  application
> > level?
> > 
> > 
> > 
> > Vincent Vu  Nguyen
> > 
> > 
> > 
> > 
> > 
> 
> 
> 
> 
> If you  wish to view the St. James's Place email disclaimer, please
use the 
>link  below
> 
> http://www.sjp.co.uk/portal/internet/SJPemaildisclaimer
> 


RE: multi level faceting

Posted by "Nguyen, Vincent (CDC/OD/OADS) (CTR)" <vn...@cdc.gov>.
Just to clarify, the effect I was look for was this.  

Sneakers
   Men (22)
   Women (43)

AFTER a user filters by one of those, they would be presented with a NEW
facet field such as 

Sneakers
   Men
      Size 7 (10)
      Size 8 (11)
      Size 9 (23)

Vincent Vu Nguyen

-----Original Message-----
From: Otis Gospodnetic [mailto:otis_gospodnetic@yahoo.com] 
Sent: Monday, October 04, 2010 11:44 PM
To: solr-user@lucene.apache.org
Subject: Re: multi level faceting

Hi,

I *think* this is not what Vincent was after.  If I read the suggestions

correctly, you are saying to use &fq=x&fq=y -- multiple fqs.
But I think Vincent is wondering how to end up with something that will
let him 
create a UI with multi-level facets (with a single request), e.g.

Footwear (100)
  Sneakers (20)
    Men (1)
    Women (19)

  Dancing shoes (10)
    Men (0)
    Women (10)
...

If this is what Vincent was after, I'd love to hear suggestions myself.
:)

Otis
----
Sematext :: http://sematext.com/ :: Solr - Lucene - Nutch
Lucene ecosystem search :: http://search-lucene.com/



----- Original Message ----
> From: Jason Brown <Ja...@sjp.co.uk>
> To: solr-user@lucene.apache.org
> Sent: Mon, October 4, 2010 11:34:56 AM
> Subject: RE: multi level faceting
> 
> Yes, by adding fq back into the main query you will get results
increasingly  
>filtered each time.
> 
> You may run into an issue if you are displaying facet  counts, as the
facet 
>part of the query will also obey the increasingly filtered  fq, and so
not 
>display counts for other categories anymore from the chosen facet
(depends if 
>you need to display counts from a facet once the first value from  the
facet has 
>been chosen if you get my drift). Local params are a way to deal  with
this by 
>not subjecting the facet count to the same fq restriction (but
allowing the 
>search results to obey it).
> 
> 
> 
> -----Original  Message-----
> From: Nguyen, Vincent (CDC/OD/OADS) (CTR) [mailto:vng0@cdc.gov]
> Sent: Mon 04/10/2010  16:34
> To: solr-user@lucene.apache.org
> Subject:  RE: multi level faceting
> 
> Ok.  Thanks for the quick  response.
> 
> Vincent Vu Nguyen
> Division of Science Quality and  Translation
> Office of the Associate Director for Science
> Centers for  Disease Control and Prevention (CDC)
> 404-498-6154
> Century Bldg  2400
> Atlanta, GA 30329 
> 
> 
> -----Original Message-----
> From:  Allistair Crossley [mailto:ali@roxxor.co.uk] 
> Sent: Monday, October  04, 2010 9:40 AM
> To: solr-user@lucene.apache.org
> Subject:  Re: multi level faceting
> 
> I think that is just sending 2 fq facet queries  through. In Solr PHP
I
> would do that with, e.g.
> 
> $params['facet'] =  true;
> $params['facet.fields'] = array('Size');
> $params['fq'] =>  array('sex' => array('Men', 'Women'));
> 
> but yes i think you'd have to  send through what the current facet
query
> is and add it to your next  drill-down
> 
> On Oct 4, 2010, at 9:36 AM, Nguyen, Vincent (CDC/OD/OADS)  (CTR)
wrote:
> 
> > Hi,
> > 
> > 
> > 
> > I was wondering  if there's a way to display facet options based on
> > previous facet  values.  For example, I've seen many shopping sites
> where
> > a user  can facet by "Mens" or "Womens" apparel, then be shown
"sizes"
> to
> >  facet by (for Men or Women only - whichever they chose).  
> > 
> > 
> > 
> > Is this something that would have to be handled at the  application
> > level?
> > 
> > 
> > 
> > Vincent Vu  Nguyen
> > 
> > 
> > 
> > 
> > 
> 
> 
> 
> 
> If you  wish to view the St. James's Place email disclaimer, please
use the 
>link  below
> 
> http://www.sjp.co.uk/portal/internet/SJPemaildisclaimer
> 


RE: multi level faceting

Posted by "Nguyen, Vincent (CDC/OD/OADS) (CTR)" <vn...@cdc.gov>.
Just to clarify, the effect I was look for was this.  

Sneakers
   Men (22)
   Women (43)

AFTER a user filters by one of those, they would be presented with a NEW
facet field such as 

Sneakers
   Men
      Size 7
      Size 7
      Size 7

Vincent Vu Nguyen

-----Original Message-----
From: Otis Gospodnetic [mailto:otis_gospodnetic@yahoo.com] 
Sent: Monday, October 04, 2010 11:44 PM
To: solr-user@lucene.apache.org
Subject: Re: multi level faceting

Hi,

I *think* this is not what Vincent was after.  If I read the suggestions

correctly, you are saying to use &fq=x&fq=y -- multiple fqs.
But I think Vincent is wondering how to end up with something that will
let him 
create a UI with multi-level facets (with a single request), e.g.

Footwear (100)
  Sneakers (20)
    Men (1)
    Women (19)

  Dancing shoes (10)
    Men (0)
    Women (10)
...

If this is what Vincent was after, I'd love to hear suggestions myself.
:)

Otis
----
Sematext :: http://sematext.com/ :: Solr - Lucene - Nutch
Lucene ecosystem search :: http://search-lucene.com/



----- Original Message ----
> From: Jason Brown <Ja...@sjp.co.uk>
> To: solr-user@lucene.apache.org
> Sent: Mon, October 4, 2010 11:34:56 AM
> Subject: RE: multi level faceting
> 
> Yes, by adding fq back into the main query you will get results
increasingly  
>filtered each time.
> 
> You may run into an issue if you are displaying facet  counts, as the
facet 
>part of the query will also obey the increasingly filtered  fq, and so
not 
>display counts for other categories anymore from the chosen facet
(depends if 
>you need to display counts from a facet once the first value from  the
facet has 
>been chosen if you get my drift). Local params are a way to deal  with
this by 
>not subjecting the facet count to the same fq restriction (but
allowing the 
>search results to obey it).
> 
> 
> 
> -----Original  Message-----
> From: Nguyen, Vincent (CDC/OD/OADS) (CTR) [mailto:vng0@cdc.gov]
> Sent: Mon 04/10/2010  16:34
> To: solr-user@lucene.apache.org
> Subject:  RE: multi level faceting
> 
> Ok.  Thanks for the quick  response.
> 
> Vincent Vu Nguyen
> Division of Science Quality and  Translation
> Office of the Associate Director for Science
> Centers for  Disease Control and Prevention (CDC)
> 404-498-6154
> Century Bldg  2400
> Atlanta, GA 30329 
> 
> 
> -----Original Message-----
> From:  Allistair Crossley [mailto:ali@roxxor.co.uk] 
> Sent: Monday, October  04, 2010 9:40 AM
> To: solr-user@lucene.apache.org
> Subject:  Re: multi level faceting
> 
> I think that is just sending 2 fq facet queries  through. In Solr PHP
I
> would do that with, e.g.
> 
> $params['facet'] =  true;
> $params['facet.fields'] = array('Size');
> $params['fq'] =>  array('sex' => array('Men', 'Women'));
> 
> but yes i think you'd have to  send through what the current facet
query
> is and add it to your next  drill-down
> 
> On Oct 4, 2010, at 9:36 AM, Nguyen, Vincent (CDC/OD/OADS)  (CTR)
wrote:
> 
> > Hi,
> > 
> > 
> > 
> > I was wondering  if there's a way to display facet options based on
> > previous facet  values.  For example, I've seen many shopping sites
> where
> > a user  can facet by "Mens" or "Womens" apparel, then be shown
"sizes"
> to
> >  facet by (for Men or Women only - whichever they chose).  
> > 
> > 
> > 
> > Is this something that would have to be handled at the  application
> > level?
> > 
> > 
> > 
> > Vincent Vu  Nguyen
> > 
> > 
> > 
> > 
> > 
> 
> 
> 
> 
> If you  wish to view the St. James's Place email disclaimer, please
use the 
>link  below
> 
> http://www.sjp.co.uk/portal/internet/SJPemaildisclaimer
> 


Re: multi level faceting

Posted by Peter Karich <pe...@yahoo.de>.
also take a look at:
http://wiki.apache.org/solr/HierarchicalFaceting
+ SOLR-64, SOLR-792
+ http://markmail.org/message/jxbw2m5a6zq5jhlp

Regards,
Peter.

> Take a look at "Mastering the Power of Faceted Search with Chris
> Hostetter"
> (http://www.lucidimagination.com/solutions/webcasts/faceting).  I think
> there's an example of what you're looking for there.
>
> Ephraim Ofir
>
> -----Original Message-----
> From: Otis Gospodnetic [mailto:otis_gospodnetic@yahoo.com] 
> Sent: Tuesday, October 05, 2010 5:44 AM
> To: solr-user@lucene.apache.org
> Subject: Re: multi level faceting
>
> Hi,
>
> I *think* this is not what Vincent was after.  If I read the suggestions
>
> correctly, you are saying to use &fq=x&fq=y -- multiple fqs.
> But I think Vincent is wondering how to end up with something that will
> let him 
> create a UI with multi-level facets (with a single request), e.g.
>
> Footwear (100)
>   Sneakers (20)
>     Men (1)
>     Women (19)
>
>   Dancing shoes (10)
>     Men (0)
>     Women (10)
> ...
>
> If this is what Vincent was after, I'd love to hear suggestions myself.
> :)
>
> Otis
> ----
> Sematext :: http://sematext.com/ :: Solr - Lucene - Nutch
> Lucene ecosystem search :: http://search-lucene.com/
>
>
>
> ----- Original Message ----
>   
>> From: Jason Brown <Ja...@sjp.co.uk>
>> To: solr-user@lucene.apache.org
>> Sent: Mon, October 4, 2010 11:34:56 AM
>> Subject: RE: multi level faceting
>>
>> Yes, by adding fq back into the main query you will get results
>>     
> increasingly  
>   
>> filtered each time.
>>
>> You may run into an issue if you are displaying facet  counts, as the
>>     
> facet 
>   
>> part of the query will also obey the increasingly filtered  fq, and so
>>     
> not 
>   
>> display counts for other categories anymore from the chosen facet
>>     
> (depends if 
>   
>> you need to display counts from a facet once the first value from  the
>>     
> facet has 
>   
>> been chosen if you get my drift). Local params are a way to deal  with
>>     
> this by 
>   
>> not subjecting the facet count to the same fq restriction (but
>>     
> allowing the 
>   
>> search results to obey it).
>>
>>
>>
>> -----Original  Message-----
>> From: Nguyen, Vincent (CDC/OD/OADS) (CTR) [mailto:vng0@cdc.gov]
>> Sent: Mon 04/10/2010  16:34
>> To: solr-user@lucene.apache.org
>> Subject:  RE: multi level faceting
>>
>> Ok.  Thanks for the quick  response.
>>
>> Vincent Vu Nguyen
>> Division of Science Quality and  Translation
>> Office of the Associate Director for Science
>> Centers for  Disease Control and Prevention (CDC)
>> 404-498-6154
>> Century Bldg  2400
>> Atlanta, GA 30329 
>>
>>
>> -----Original Message-----
>> From:  Allistair Crossley [mailto:ali@roxxor.co.uk] 
>> Sent: Monday, October  04, 2010 9:40 AM
>> To: solr-user@lucene.apache.org
>> Subject:  Re: multi level faceting
>>
>> I think that is just sending 2 fq facet queries  through. In Solr PHP
>>     
> I
>   
>> would do that with, e.g.
>>
>> $params['facet'] =  true;
>> $params['facet.fields'] = array('Size');
>> $params['fq'] =>  array('sex' => array('Men', 'Women'));
>>
>> but yes i think you'd have to  send through what the current facet
>>     
> query
>   
>> is and add it to your next  drill-down
>>
>> On Oct 4, 2010, at 9:36 AM, Nguyen, Vincent (CDC/OD/OADS)  (CTR)
>>     
> wrote:
>   
>>     
>>> Hi,
>>>
>>>
>>>
>>> I was wondering  if there's a way to display facet options based on
>>> previous facet  values.  For example, I've seen many shopping sites
>>>       
>> where
>>     
>>> a user  can facet by "Mens" or "Womens" apparel, then be shown
>>>       
> "sizes"
>   
>> to
>>     
>>>  facet by (for Men or Women only - whichever they chose).  
>>>
>>>
>>>
>>> Is this something that would have to be handled at the  application
>>> level?
>>>
>>>
>>>
>>> Vincent Vu  Nguyen
>>>
>>>
>>>
>>>
>>>
>>>       
>>
>>
>>
>> If you  wish to view the St. James's Place email disclaimer, please
>>     
> use the 
>   
>> link  below
>>
>> http://www.sjp.co.uk/portal/internet/SJPemaildisclaimer
>>
>>     
>   


RE: multi level faceting

Posted by Ephraim Ofir <Ep...@icq.com>.
Take a look at "Mastering the Power of Faceted Search with Chris
Hostetter"
(http://www.lucidimagination.com/solutions/webcasts/faceting).  I think
there's an example of what you're looking for there.

Ephraim Ofir

-----Original Message-----
From: Otis Gospodnetic [mailto:otis_gospodnetic@yahoo.com] 
Sent: Tuesday, October 05, 2010 5:44 AM
To: solr-user@lucene.apache.org
Subject: Re: multi level faceting

Hi,

I *think* this is not what Vincent was after.  If I read the suggestions

correctly, you are saying to use &fq=x&fq=y -- multiple fqs.
But I think Vincent is wondering how to end up with something that will
let him 
create a UI with multi-level facets (with a single request), e.g.

Footwear (100)
  Sneakers (20)
    Men (1)
    Women (19)

  Dancing shoes (10)
    Men (0)
    Women (10)
...

If this is what Vincent was after, I'd love to hear suggestions myself.
:)

Otis
----
Sematext :: http://sematext.com/ :: Solr - Lucene - Nutch
Lucene ecosystem search :: http://search-lucene.com/



----- Original Message ----
> From: Jason Brown <Ja...@sjp.co.uk>
> To: solr-user@lucene.apache.org
> Sent: Mon, October 4, 2010 11:34:56 AM
> Subject: RE: multi level faceting
> 
> Yes, by adding fq back into the main query you will get results
increasingly  
>filtered each time.
> 
> You may run into an issue if you are displaying facet  counts, as the
facet 
>part of the query will also obey the increasingly filtered  fq, and so
not 
>display counts for other categories anymore from the chosen facet
(depends if 
>you need to display counts from a facet once the first value from  the
facet has 
>been chosen if you get my drift). Local params are a way to deal  with
this by 
>not subjecting the facet count to the same fq restriction (but
allowing the 
>search results to obey it).
> 
> 
> 
> -----Original  Message-----
> From: Nguyen, Vincent (CDC/OD/OADS) (CTR) [mailto:vng0@cdc.gov]
> Sent: Mon 04/10/2010  16:34
> To: solr-user@lucene.apache.org
> Subject:  RE: multi level faceting
> 
> Ok.  Thanks for the quick  response.
> 
> Vincent Vu Nguyen
> Division of Science Quality and  Translation
> Office of the Associate Director for Science
> Centers for  Disease Control and Prevention (CDC)
> 404-498-6154
> Century Bldg  2400
> Atlanta, GA 30329 
> 
> 
> -----Original Message-----
> From:  Allistair Crossley [mailto:ali@roxxor.co.uk] 
> Sent: Monday, October  04, 2010 9:40 AM
> To: solr-user@lucene.apache.org
> Subject:  Re: multi level faceting
> 
> I think that is just sending 2 fq facet queries  through. In Solr PHP
I
> would do that with, e.g.
> 
> $params['facet'] =  true;
> $params['facet.fields'] = array('Size');
> $params['fq'] =>  array('sex' => array('Men', 'Women'));
> 
> but yes i think you'd have to  send through what the current facet
query
> is and add it to your next  drill-down
> 
> On Oct 4, 2010, at 9:36 AM, Nguyen, Vincent (CDC/OD/OADS)  (CTR)
wrote:
> 
> > Hi,
> > 
> > 
> > 
> > I was wondering  if there's a way to display facet options based on
> > previous facet  values.  For example, I've seen many shopping sites
> where
> > a user  can facet by "Mens" or "Womens" apparel, then be shown
"sizes"
> to
> >  facet by (for Men or Women only - whichever they chose).  
> > 
> > 
> > 
> > Is this something that would have to be handled at the  application
> > level?
> > 
> > 
> > 
> > Vincent Vu  Nguyen
> > 
> > 
> > 
> > 
> > 
> 
> 
> 
> 
> If you  wish to view the St. James's Place email disclaimer, please
use the 
>link  below
> 
> http://www.sjp.co.uk/portal/internet/SJPemaildisclaimer
> 

Re: multi level faceting

Posted by Otis Gospodnetic <ot...@yahoo.com>.
Hi,

I *think* this is not what Vincent was after.  If I read the suggestions 
correctly, you are saying to use &fq=x&fq=y -- multiple fqs.
But I think Vincent is wondering how to end up with something that will let him 
create a UI with multi-level facets (with a single request), e.g.

Footwear (100)
  Sneakers (20)
    Men (1)
    Women (19)

  Dancing shoes (10)
    Men (0)
    Women (10)
...

If this is what Vincent was after, I'd love to hear suggestions myself. :)

Otis
----
Sematext :: http://sematext.com/ :: Solr - Lucene - Nutch
Lucene ecosystem search :: http://search-lucene.com/



----- Original Message ----
> From: Jason Brown <Ja...@sjp.co.uk>
> To: solr-user@lucene.apache.org
> Sent: Mon, October 4, 2010 11:34:56 AM
> Subject: RE: multi level faceting
> 
> Yes, by adding fq back into the main query you will get results increasingly  
>filtered each time.
> 
> You may run into an issue if you are displaying facet  counts, as the facet 
>part of the query will also obey the increasingly filtered  fq, and so not 
>display counts for other categories anymore from the chosen facet  (depends if 
>you need to display counts from a facet once the first value from  the facet has 
>been chosen if you get my drift). Local params are a way to deal  with this by 
>not subjecting the facet count to the same fq restriction (but  allowing the 
>search results to obey it).
> 
> 
> 
> -----Original  Message-----
> From: Nguyen, Vincent (CDC/OD/OADS) (CTR) [mailto:vng0@cdc.gov]
> Sent: Mon 04/10/2010  16:34
> To: solr-user@lucene.apache.org
> Subject:  RE: multi level faceting
> 
> Ok.  Thanks for the quick  response.
> 
> Vincent Vu Nguyen
> Division of Science Quality and  Translation
> Office of the Associate Director for Science
> Centers for  Disease Control and Prevention (CDC)
> 404-498-6154
> Century Bldg  2400
> Atlanta, GA 30329 
> 
> 
> -----Original Message-----
> From:  Allistair Crossley [mailto:ali@roxxor.co.uk] 
> Sent: Monday, October  04, 2010 9:40 AM
> To: solr-user@lucene.apache.org
> Subject:  Re: multi level faceting
> 
> I think that is just sending 2 fq facet queries  through. In Solr PHP I
> would do that with, e.g.
> 
> $params['facet'] =  true;
> $params['facet.fields'] = array('Size');
> $params['fq'] =>  array('sex' => array('Men', 'Women'));
> 
> but yes i think you'd have to  send through what the current facet query
> is and add it to your next  drill-down
> 
> On Oct 4, 2010, at 9:36 AM, Nguyen, Vincent (CDC/OD/OADS)  (CTR) wrote:
> 
> > Hi,
> > 
> > 
> > 
> > I was wondering  if there's a way to display facet options based on
> > previous facet  values.  For example, I've seen many shopping sites
> where
> > a user  can facet by "Mens" or "Womens" apparel, then be shown "sizes"
> to
> >  facet by (for Men or Women only - whichever they chose).  
> > 
> > 
> > 
> > Is this something that would have to be handled at the  application
> > level?
> > 
> > 
> > 
> > Vincent Vu  Nguyen
> > 
> > 
> > 
> > 
> > 
> 
> 
> 
> 
> If you  wish to view the St. James's Place email disclaimer, please use the 
>link  below
> 
> http://www.sjp.co.uk/portal/internet/SJPemaildisclaimer
> 

RE: multi level faceting

Posted by Jason Brown <Ja...@sjp.co.uk>.
Yes, by adding fq back into the main query you will get results increasingly filtered each time.

You may run into an issue if you are displaying facet counts, as the facet part of the query will also obey the increasingly filtered fq, and so not display counts for other categories anymore from the chosen facet (depends if you need to display counts from a facet once the first value from the facet has been chosen if you get my drift). Local params are a way to deal with this by not subjecting the facet count to the same fq restriction (but allowing the search results to obey it).



-----Original Message-----
From: Nguyen, Vincent (CDC/OD/OADS) (CTR) [mailto:vng0@cdc.gov]
Sent: Mon 04/10/2010 16:34
To: solr-user@lucene.apache.org
Subject: RE: multi level faceting
 
Ok.  Thanks for the quick response.

Vincent Vu Nguyen
Division of Science Quality and Translation
Office of the Associate Director for Science
Centers for Disease Control and Prevention (CDC)
404-498-6154
Century Bldg 2400
Atlanta, GA 30329 


-----Original Message-----
From: Allistair Crossley [mailto:ali@roxxor.co.uk] 
Sent: Monday, October 04, 2010 9:40 AM
To: solr-user@lucene.apache.org
Subject: Re: multi level faceting

I think that is just sending 2 fq facet queries through. In Solr PHP I
would do that with, e.g.

$params['facet'] = true;
$params['facet.fields'] = array('Size');
$params['fq'] => array('sex' => array('Men', 'Women'));

but yes i think you'd have to send through what the current facet query
is and add it to your next drill-down

On Oct 4, 2010, at 9:36 AM, Nguyen, Vincent (CDC/OD/OADS) (CTR) wrote:

> Hi,
> 
> 
> 
> I was wondering if there's a way to display facet options based on
> previous facet values.  For example, I've seen many shopping sites
where
> a user can facet by "Mens" or "Womens" apparel, then be shown "sizes"
to
> facet by (for Men or Women only - whichever they chose).  
> 
> 
> 
> Is this something that would have to be handled at the application
> level?
> 
> 
> 
> Vincent Vu Nguyen
> 
> 
> 
> 
> 




If you wish to view the St. James's Place email disclaimer, please use the link below

http://www.sjp.co.uk/portal/internet/SJPemaildisclaimer

RE: multi level faceting

Posted by "Nguyen, Vincent (CDC/OD/OADS) (CTR)" <vn...@cdc.gov>.
Ok.  Thanks for the quick response.

Vincent Vu Nguyen
Division of Science Quality and Translation
Office of the Associate Director for Science
Centers for Disease Control and Prevention (CDC)
404-498-6154
Century Bldg 2400
Atlanta, GA 30329 


-----Original Message-----
From: Allistair Crossley [mailto:ali@roxxor.co.uk] 
Sent: Monday, October 04, 2010 9:40 AM
To: solr-user@lucene.apache.org
Subject: Re: multi level faceting

I think that is just sending 2 fq facet queries through. In Solr PHP I
would do that with, e.g.

$params['facet'] = true;
$params['facet.fields'] = array('Size');
$params['fq'] => array('sex' => array('Men', 'Women'));

but yes i think you'd have to send through what the current facet query
is and add it to your next drill-down

On Oct 4, 2010, at 9:36 AM, Nguyen, Vincent (CDC/OD/OADS) (CTR) wrote:

> Hi,
> 
> 
> 
> I was wondering if there's a way to display facet options based on
> previous facet values.  For example, I've seen many shopping sites
where
> a user can facet by "Mens" or "Womens" apparel, then be shown "sizes"
to
> facet by (for Men or Women only - whichever they chose).  
> 
> 
> 
> Is this something that would have to be handled at the application
> level?
> 
> 
> 
> Vincent Vu Nguyen
> 
> 
> 
> 
> 



Re: multi level faceting

Posted by Allistair Crossley <al...@roxxor.co.uk>.
I think that is just sending 2 fq facet queries through. In Solr PHP I would do that with, e.g.

$params['facet'] = true;
$params['facet.fields'] = array('Size');
$params['fq'] => array('sex' => array('Men', 'Women'));

but yes i think you'd have to send through what the current facet query is and add it to your next drill-down

On Oct 4, 2010, at 9:36 AM, Nguyen, Vincent (CDC/OD/OADS) (CTR) wrote:

> Hi,
> 
> 
> 
> I was wondering if there's a way to display facet options based on
> previous facet values.  For example, I've seen many shopping sites where
> a user can facet by "Mens" or "Womens" apparel, then be shown "sizes" to
> facet by (for Men or Women only - whichever they chose).  
> 
> 
> 
> Is this something that would have to be handled at the application
> level?
> 
> 
> 
> Vincent Vu Nguyen
> 
> 
> 
> 
>