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>
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 |
PathHierarchyTokenizerFactory
public PathHierarchyTokenizerFactory()
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.