org.apache.lucene.analysis.path
Class PathHierarchyTokenizerFactory

java.lang.Object
  extended by org.apache.lucene.analysis.util.AbstractAnalysisFactory
      extended by org.apache.lucene.analysis.util.TokenizerFactory
          extended by 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.