It looks like TextField is the problem. This fixed: <fieldType name="text_path" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index"> <tokenizer class="solr.PathHierarchyTokenizerFactory" delimiter="/"/> </analyzer> <analyzer type="query"> <tokenizer class="solr.WhitespaceTokenizerFactory"/> </analyzer> </fieldType>
I am assuming the text_path fields won't include whitespace characters. ?q=colors:red/pink ==> Doc2 (Doc1, which has colors = red isn't included!) Is there a tokenizer that tokenizes the string as one token? I tried to extend Tokenizer myself but it fails: public class AsIsTokenizer extends Tokenizer { @Override public boolean incrementToken() throws IOException { return true;//or false; } } On Wed, Apr 18, 2012 at 11:33 AM, sam ” <skyn...@gmail.com> wrote: > Yah, that's exactly what PathHierarchyTokenizer does. > <fieldType name="text_path" class="solr.TextField" > positionIncrementGap="100"> > <analyzer type="index"> > <tokenizer class="solr.PathHierarchyTokenizerFactory"/> > </analyzer> > </fieldType> > > I think I have a query time tokenizer that tokenizes at / > > ?q=colors:red > ==> Doc1, Doc2 > > ?q=colors:redfoobar > ==> > > ?q=colors:red/foobarasdfoaijao > ==> Doc1, Doc2 > > > > > On Wed, Apr 18, 2012 at 11:10 AM, Darren Govoni <dar...@ontrenet.com>wrote: > >> Put the parent term in all the child documents at index time >> and the re-issue the facet query when you expand the parent using the >> parent's term. works perfect. >> >> On Wed, 2012-04-18 at 10:56 -0400, sam ” wrote: >> > I have hierarchical colors: >> > <field name="colors" type="text_path" indexed="true" >> > stored="true" multiValued="true"/> >> > text_path is TextField with PathHierarchyTokenizerFactory as tokenizer. >> > >> > Given these two documents, >> > Doc1: red >> > Doc2: red/pink >> > >> > I want the result to be the following: >> > ?fq=red >> > ==> Doc1, Doc2 >> > >> > ?fq=red/pink >> > ==> Doc2 >> > >> > But, with PathHierarchyTokenizer, Doc1 is included for the query: >> > ?fq=red/pink >> > ==> Doc1, Doc2 >> > >> > How can I query for hierarchical facets? >> > http://wiki.apache.org/solr/HierarchicalFaceting describes >> facet.prefix.. >> > But it looks too cumbersome to me. >> > >> > Is there a simpler way to implement hierarchical facets? >> >> >> >