public class WeightedSpanTermExtractor extends Object
WeightedSpanTerms from a Query based on whether
Terms from the Query are contained in a supplied TokenStream.| Modifier and Type | Class and Description |
|---|---|
protected static class |
WeightedSpanTermExtractor.PositionCheckingMap<K>
This class makes sure that if both position sensitive and insensitive
versions of the same term are added, the position insensitive one wins.
|
| Constructor and Description |
|---|
WeightedSpanTermExtractor() |
WeightedSpanTermExtractor(String defaultField) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
collectSpanQueryFields(SpanQuery spanQuery,
Set<String> fieldNames) |
protected void |
extract(Query query,
Map<String,WeightedSpanTerm> terms)
Fills a
Map with <@link WeightedSpanTerm>s using the terms from the supplied Query. |
protected void |
extractUnknownQuery(Query query,
Map<String,WeightedSpanTerm> terms) |
protected void |
extractWeightedSpanTerms(Map<String,WeightedSpanTerm> terms,
SpanQuery spanQuery)
Fills a
Map with <@link WeightedSpanTerm>s using the terms from the supplied SpanQuery. |
protected void |
extractWeightedTerms(Map<String,WeightedSpanTerm> terms,
Query query)
Fills a
Map with <@link WeightedSpanTerm>s using the terms from the supplied Query. |
protected boolean |
fieldNameComparator(String fieldNameToCheck)
Necessary to implement matches for queries against
defaultField |
boolean |
getExpandMultiTermQuery() |
protected IndexReader |
getReaderForField(String field) |
TokenStream |
getTokenStream() |
Map<String,WeightedSpanTerm> |
getWeightedSpanTerms(Query query,
TokenStream tokenStream)
Creates a Map of
WeightedSpanTerms from the given Query and TokenStream. |
Map<String,WeightedSpanTerm> |
getWeightedSpanTerms(Query query,
TokenStream tokenStream,
String fieldName)
Creates a Map of
WeightedSpanTerms from the given Query and TokenStream. |
Map<String,WeightedSpanTerm> |
getWeightedSpanTermsWithScores(Query query,
TokenStream tokenStream,
String fieldName,
IndexReader reader)
Creates a Map of
WeightedSpanTerms from the given Query and TokenStream. |
boolean |
isCachedTokenStream() |
protected boolean |
mustRewriteQuery(SpanQuery spanQuery) |
void |
setExpandMultiTermQuery(boolean expandMultiTermQuery) |
protected void |
setMaxDocCharsToAnalyze(int maxDocCharsToAnalyze) |
void |
setWrapIfNotCachingTokenFilter(boolean wrap)
By default,
TokenStreams that are not of the type
CachingTokenFilter are wrapped in a CachingTokenFilter to
ensure an efficient reset - if you are already using a different caching
TokenStream impl and you don't want it to be wrapped, set this to
false. |
public WeightedSpanTermExtractor()
public WeightedSpanTermExtractor(String defaultField)
protected void extract(Query query, Map<String,WeightedSpanTerm> terms) throws IOException
Map with <@link WeightedSpanTerm>s using the terms from the supplied Query.query - Query to extract Terms fromterms - Map to place created WeightedSpanTerms inIOExceptionprotected void extractUnknownQuery(Query query, Map<String,WeightedSpanTerm> terms) throws IOException
IOExceptionprotected void extractWeightedSpanTerms(Map<String,WeightedSpanTerm> terms, SpanQuery spanQuery) throws IOException
Map with <@link WeightedSpanTerm>s using the terms from the supplied SpanQuery.terms - Map to place created WeightedSpanTerms inspanQuery - SpanQuery to extract Terms fromIOExceptionprotected void extractWeightedTerms(Map<String,WeightedSpanTerm> terms, Query query) throws IOException
Map with <@link WeightedSpanTerm>s using the terms from the supplied Query.terms - Map to place created WeightedSpanTerms inquery - Query to extract Terms fromIOExceptionprotected boolean fieldNameComparator(String fieldNameToCheck)
defaultFieldprotected IndexReader getReaderForField(String field) throws IOException
IOExceptionpublic Map<String,WeightedSpanTerm> getWeightedSpanTerms(Query query, TokenStream tokenStream) throws IOException
WeightedSpanTerms from the given Query and TokenStream.
query - that caused hittokenStream - of text to be highlightedIOExceptionpublic Map<String,WeightedSpanTerm> getWeightedSpanTerms(Query query, TokenStream tokenStream, String fieldName) throws IOException
WeightedSpanTerms from the given Query and TokenStream.
query - that caused hittokenStream - of text to be highlightedfieldName - restricts Term's used based on field nameIOExceptionpublic Map<String,WeightedSpanTerm> getWeightedSpanTermsWithScores(Query query, TokenStream tokenStream, String fieldName, IndexReader reader) throws IOException
WeightedSpanTerms from the given Query and TokenStream. Uses a supplied
IndexReader to properly weight terms (for gradient highlighting).
query - that caused hittokenStream - of text to be highlightedfieldName - restricts Term's used based on field namereader - to use for scoringIOExceptionprotected void collectSpanQueryFields(SpanQuery spanQuery, Set<String> fieldNames)
protected boolean mustRewriteQuery(SpanQuery spanQuery)
public boolean getExpandMultiTermQuery()
public void setExpandMultiTermQuery(boolean expandMultiTermQuery)
public boolean isCachedTokenStream()
public TokenStream getTokenStream()
public void setWrapIfNotCachingTokenFilter(boolean wrap)
TokenStreams that are not of the type
CachingTokenFilter are wrapped in a CachingTokenFilter to
ensure an efficient reset - if you are already using a different caching
TokenStream impl and you don't want it to be wrapped, set this to
false.wrap - protected final void setMaxDocCharsToAnalyze(int maxDocCharsToAnalyze)