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>

Since:
  3.1

### Field Summary

### Fields inherited from class org.apache.lucene.analysis.util.AbstractAnalysisFactory

`LUCENE_MATCH_VERSION_PARAM, luceneMatchVersion`

### Constructor Summary

Constructors
Constructor and Description
`PathHierarchyTokenizerFactory(Map<String,String> args)` Creates a new PathHierarchyTokenizerFactory

### Method Summary

All Methods Instance Methods Concrete Methods
`Tokenizer` `create(AttributeFactory factory)` Creates a TokenStream of the specified input using the given AttributeFactory

### Methods inherited from class org.apache.lucene.analysis.util.TokenizerFactory

`availableTokenizers, create, forName, lookupClass, reloadTokenizers`

### Methods inherited from class org.apache.lucene.analysis.util.AbstractAnalysisFactory

`get, get, get, get, get, getBoolean, getChar, getClassArg, getFloat, getInt, getLines, getLuceneMatchVersion, getOriginalArgs, getPattern, getSet, getSnowballWordSet, getWordSet, isExplicitLuceneMatchVersion, require, require, require, requireBoolean, requireChar, requireFloat, requireInt, setExplicitLuceneMatchVersion, splitAt, splitFileNames`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### PathHierarchyTokenizerFactory

    public PathHierarchyTokenizerFactory(Map<String,String> args)

Creates a new PathHierarchyTokenizerFactory

### Method Detail

#### create

    public Tokenizer create(AttributeFactory factory)

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

Specified by:
  `create` in class `TokenizerFactory`