Package org.apache.lucene.analysis.path

# Class PathHierarchyTokenizerFactory

java.lang.Object
org.apache.lucene.analysis.AbstractAnalysisFactory
org.apache.lucene.analysis.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
SPI Name (case-insensitive: if the name is 'htmlStrip', 'htmlstrip' can be used when looking up the service).
  "pathHierarchy"

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`NAME`
SPI name

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

`LUCENE_MATCH_VERSION_PARAM, luceneMatchVersion`

## Constructor Summary

Constructors
Constructor
Description
`PathHierarchyTokenizerFactory()`
Default ctor for compatibility with SPI
`PathHierarchyTokenizerFactory(Map<String,String> args)`
Creates a new PathHierarchyTokenizerFactory

## Method Summary

Modifier and Type
Method
Description
`Tokenizer`
`create(AttributeFactory factory)`

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

`availableTokenizers, create, findSPIName, forName, lookupClass, reloadTokenizers`

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

`defaultCtorException, 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`

## Field Details

### NAME

public static final String NAME
SPI name

See Also:
  - Constant Field Values

## Constructor Details

### PathHierarchyTokenizerFactory

public PathHierarchyTokenizerFactory(Map<String,String> args)
Creates a new PathHierarchyTokenizerFactory

### PathHierarchyTokenizerFactory

public PathHierarchyTokenizerFactory()
Default ctor for compatibility with SPI

## Method Details

### create

public Tokenizer create(AttributeFactory factory)

Specified by:
  `create` in class `TokenizerFactory`