## org.apache.lucene.analysis.path
Class PathHierarchyTokenizerFactory

    java.lang.Object
      org.apache.lucene.analysis.util.AbstractAnalysisFactory
          org.apache.lucene.analysis.util.TokenizerFactory
              org.apache.lucene.analysis.path.PathHierarchyTokenizerFactory

    public class PathHierarchyTokenizerFactory

extends TokenizerFactory

Factory for `PathHierarchyTokenizer`.

This factory is typically configured for use only in the `index` Analyzer (or only in the `query` Analyzer, but never both).

For example, in the configuration below a query for `Books/NonFic` will match documents indexed with values like `Books/NonFic`, `Books/NonFic/Law`, `Books/NonFic/Science/Physics`, etc. But it will not match documents indexed with values like `Books`, or `Books/Fic`...

     <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>

In this example however we see the oposite configuration, so that a query for `Books/NonFic/Science/Physics` would match documents containing `Books/NonFic`, `Books/NonFic/Science`, or `Books/NonFic/Science/Physics`, but not `Books/NonFic/Science/Physics/Theory` or `Books/NonFic/Law`.

     <fieldType name="descendent_path" class="solr.TextField">
       <analyzer type="index">
         <tokenizer class="solr.KeywordTokenizerFactory" />
       </analyzer>
       <analyzer type="query">
         <tokenizer class="solr.PathHierarchyTokenizerFactory" delimiter="/" />
       </analyzer>
     </fieldType>

Field Summary

Fields inherited from class org.apache.lucene.analysis.util.AbstractAnalysisFactory
`args, luceneMatchVersion`

Constructor Summary
`PathHierarchyTokenizerFactory()`

Method Summary
`Tokenizer` `create(Reader input)` Creates a TokenStream of the specified input
`void` `init(Map<String,String> args)` Require a configured pattern

Methods inherited from class org.apache.lucene.analysis.util.TokenizerFactory
`availableTokenizers, forName, lookupClass, reloadTokenizers`

Methods inherited from class org.apache.lucene.analysis.util.AbstractAnalysisFactory
`assureMatchVersion, getArgs, getBoolean, getBoolean, getInt, getInt, getInt, getLines, getLuceneMatchVersion, getOriginalArgs, getPattern, getSnowballWordSet, getWordSet, setLuceneMatchVersion, splitFileNames`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### PathHierarchyTokenizerFactory

    public PathHierarchyTokenizerFactory()

Method Detail

### init

    public void init(Map<String,String> args)

  Require a configured pattern

  Overrides:
    `init` in class `AbstractAnalysisFactory`

### create

    public Tokenizer create(Reader input)

  Description copied from class: `TokenizerFactory`
  Creates a TokenStream of the specified input

  Specified by:
    `create` in class `TokenizerFactory`

Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.