I don't use any of that stuff in my app, so not sure how it works. I just manage my taxonomy outside of solr at index time and don't need any special fields or tokenizers. I use a string field type and insert the proper field at index time and query it normally. Nothing special required.
On Wed, 2012-04-18 at 13:00 -0400, sam ” wrote: > 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? > >> > >> > >> > >