org.eaglei.lexical.lucene
Class LuceneEntityExtractionProvider

java.lang.Object
  extended by org.eaglei.lexical.lucene.LuceneEntityExtractionProvider
All Implemented Interfaces:
org.eaglei.lexical.EntityExtractionProvider

public class LuceneEntityExtractionProvider
extends java.lang.Object
implements org.eaglei.lexical.EntityExtractionProvider

Implementation of EntityExtractorProvider that supports the entity extraction for subtrees of a specified OntModel. Clients of this class must create and populate the Lucene Directory according to the schema in LuceneEntityExtractionIndexer before creating this provider.

Author:
rfrost

Field Summary
static float DEFAULT_SCORE_THRESHHOLD
          Default score threshold
static int MAX_FRAGMENTS
          Max number of fragments for highlighting
 
Constructor Summary
LuceneEntityExtractionProvider(org.apache.lucene.analysis.Analyzer queryAnalyzer, org.apache.lucene.analysis.Analyzer indexAnalyzer, org.apache.lucene.store.Directory directory)
          Creates a new ModelEntityExtractor.
LuceneEntityExtractionProvider(org.apache.lucene.analysis.Analyzer analyzer, org.apache.lucene.store.Directory directory)
          Creates a new ModelEntityExtractor that uses the same analyzer for indexing and querying.
 
Method Summary
 java.util.List<org.eaglei.lexical.EntityMatch> match(org.eaglei.lexical.EntityMatchRequest request)
           
 void setFuzzyRewrite(boolean fuzzyRewrite)
          Sets the flag that controls whether the original query is rewritten to a "fuzzy" form (levenstein edit distance) if the original execution fails to retrieve results.
 void setScoreThreshold(float threshold)
          Sets the Lucene score threshold.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_SCORE_THRESHHOLD

public static final float DEFAULT_SCORE_THRESHHOLD
Default score threshold

See Also:
Constant Field Values

MAX_FRAGMENTS

public static final int MAX_FRAGMENTS
Max number of fragments for highlighting

See Also:
Constant Field Values
Constructor Detail

LuceneEntityExtractionProvider

public LuceneEntityExtractionProvider(org.apache.lucene.analysis.Analyzer analyzer,
                                      org.apache.lucene.store.Directory directory)
                               throws java.io.IOException
Creates a new ModelEntityExtractor that uses the same analyzer for indexing and querying.

Parameters:
analyzer - Analyzer used for both querying and indexing
directory - Lucene directory. This directory should already contain a valid index populated according to the schema in LuceneIndexer.
Throws:
java.io.IOException - Thrown if there is an error building the index.

LuceneEntityExtractionProvider

public LuceneEntityExtractionProvider(org.apache.lucene.analysis.Analyzer queryAnalyzer,
                                      org.apache.lucene.analysis.Analyzer indexAnalyzer,
                                      org.apache.lucene.store.Directory directory)
                               throws java.io.IOException
Creates a new ModelEntityExtractor.

Parameters:
queryAnalyzer - Analyzer to use for query execution.
indexAnalyzer - Analyzer to use for index creation.
directory - Lucene directory. This directory should already contain a valid index populated according to the schema in LuceneIndexer.
Throws:
java.io.IOException - Thrown if there is an error building the index.
Method Detail

setFuzzyRewrite

public void setFuzzyRewrite(boolean fuzzyRewrite)
Sets the flag that controls whether the original query is rewritten to a "fuzzy" form (levenstein edit distance) if the original execution fails to retrieve results.

Parameters:
fuzzyRewrite - True for fuzzy rewrite.

setScoreThreshold

public void setScoreThreshold(float threshold)
Sets the Lucene score threshold. Matches with a score of less than this will not be returned. Set to <= 0 to return all matches.

Parameters:
threshold - The threshold.

match

public java.util.List<org.eaglei.lexical.EntityMatch> match(org.eaglei.lexical.EntityMatchRequest request)
                                                     throws java.io.IOException
Specified by:
match in interface org.eaglei.lexical.EntityExtractionProvider
Throws:
java.io.IOException


Copyright © 2009-2010 Eagle-I. All Rights Reserved.