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

    All Methods Instance Methods Concrete Methods
    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 Detail

    - #### NAME

          public static final String NAME

      SPI name
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### PathHierarchyTokenizerFactory

          public PathHierarchyTokenizerFactory​(Map<String,​String> args)

      Creates a new PathHierarchyTokenizerFactory

    - #### PathHierarchyTokenizerFactory

          public PathHierarchyTokenizerFactory()

      Default ctor for compatibility with SPI

  - ### Method Detail

    - #### create

          public Tokenizer create​(AttributeFactory factory)

      Specified by:
        `create` in class `TokenizerFactory`