Actually it occurred to me that doing something like this might work: if I have a category of root/books/scifi for a document I'd create the following values for the facet:
0/root 1/root 1/root/books 2/root 2/root/books 2/root/books/scifi Then to get level 1 I'd do: http://localhost:8982/solr/articles/select?facet=true&start=0&q=*:*&facet.field=my_path_based_facet&wt=ruby&indent=on &facet.prefix=1/root Is that what people do? Thanks Brendan On Fri, May 10, 2013 at 6:50 PM, Brendan Grainger < brendan.grain...@gmail.com> wrote: > Hi, > > I'm using the PathHierarchyTokenizer like this: > > <fieldType name="descendent_path" class="solr.TextField"> > <analyzer type="index"> > <tokenizer class="solr.PathHierarchyTokenizerFactory" delimiter="/" > /> > </analyzer> > <analyzer type="query"> > <tokenizer class="solr.KeywordTokenizerFactory" /> > </analyzer> > </fieldType> > > to create path based facets. > > A query like: > > > http://localhost:8982/solr/articles/select?facet=true&start=0&q=*:*&facet.field=my_path_based_facet&wt=ruby&indent=on > > gives facets that look like: > > 'my_path_based_facet'=>[ > 'root',4, > 'root/books',4, > 'root/books/scifi',4, > 'root/books/scifi/fantasy',3, > 'root/books/scifi/fantasy/general',3, > 'root/books/scifi/horror',1, > 'root/books/scifi/horror/gore',1, > 'root/books/scifi/superhero',1, > 'root/books/scifi/superhero/superman',1, > 'root/books/scifi/superhero/superman/general',1]} > > What I'm wondering if if there is an easy way for me to say I only want up > to level 2 say. So if root was level 0, the returned facets would be: > > 'root',4, > 'root/books',4, > 'root/books/scifi',4, > > > Also given my the description of what I want to achieve is using > PathHierachyTokenizer the correct approach? > > Thanks > Brendan > > -- Brendan Grainger www.kuripai.com