## org.apache.lucene.search.highlight
Class WeightedSpanTermExtractor

    java.lang.Object
      org.apache.lucene.search.highlight.WeightedSpanTermExtractor

    public class WeightedSpanTermExtractor

extends Object

Class used to extract `WeightedSpanTerm`s from a `Query` based on whether `Term`s from the `Query` are contained in a supplied `TokenStream`.

Nested Class Summary
`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 Summary
`WeightedSpanTermExtractor()`
`WeightedSpanTermExtractor(String defaultField)`

Method Summary
`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 AtomicReaderContext` `getLeafContext()`
`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, `TokenStream`s 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.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### WeightedSpanTermExtractor

    public WeightedSpanTermExtractor()

### WeightedSpanTermExtractor

    public WeightedSpanTermExtractor(String defaultField)

Method Detail

### extract

    protected void extract(Query query,
                           Map<String,WeightedSpanTerm> terms)
                    throws IOException

  Fills a `Map` with <@link WeightedSpanTerm>s using the terms from the supplied `Query`.

  Parameters:
    `query` - Query to extract Terms from
    `terms` - Map to place created WeightedSpanTerms in
  Throws:
    `IOException` - If there is a low-level I/O error

### extractUnknownQuery

    protected void extractUnknownQuery(Query query,
                                       Map<String,WeightedSpanTerm> terms)
                                throws IOException

  Throws:
    `IOException`

### extractWeightedSpanTerms

    protected void extractWeightedSpanTerms(Map<String,WeightedSpanTerm> terms,
                                            SpanQuery spanQuery)
                                     throws IOException

  Fills a `Map` with <@link WeightedSpanTerm>s using the terms from the supplied `SpanQuery`.

  Parameters:
    `terms` - Map to place created WeightedSpanTerms in
    `spanQuery` - SpanQuery to extract Terms from
  Throws:
    `IOException` - If there is a low-level I/O error

### extractWeightedTerms

    protected void extractWeightedTerms(Map<String,WeightedSpanTerm> terms,
                                        Query query)
                                 throws IOException

  Fills a `Map` with <@link WeightedSpanTerm>s using the terms from the supplied `Query`.

  Parameters:
    `terms` - Map to place created WeightedSpanTerms in
    `query` - Query to extract Terms from
  Throws:
    `IOException` - If there is a low-level I/O error

### fieldNameComparator

    protected boolean fieldNameComparator(String fieldNameToCheck)

  Necessary to implement matches for queries against `defaultField`

### getLeafContext

    protected AtomicReaderContext getLeafContext()
                                          throws IOException

  Throws:
    `IOException`

### getWeightedSpanTerms

    public Map<String,WeightedSpanTerm> getWeightedSpanTerms(Query query,
                                                             TokenStream tokenStream)
                                                      throws IOException

  Creates a Map of `WeightedSpanTerms` from the given `Query` and `TokenStream`.

  Parameters:
    `query` - that caused hit
    `tokenStream` - of text to be highlighted
  Returns:
    Map containing WeightedSpanTerms
  Throws:
    `IOException` - If there is a low-level I/O error

### getWeightedSpanTerms

    public Map<String,WeightedSpanTerm> getWeightedSpanTerms(Query query,
                                                             TokenStream tokenStream,
                                                             String fieldName)
                                                      throws IOException

  Creates a Map of `WeightedSpanTerms` from the given `Query` and `TokenStream`.

  Parameters:
    `query` - that caused hit
    `tokenStream` - of text to be highlighted
    `fieldName` - restricts Term's used based on field name
  Returns:
    Map containing WeightedSpanTerms
  Throws:
    `IOException` - If there is a low-level I/O error

### getWeightedSpanTermsWithScores

    public Map<String,WeightedSpanTerm> getWeightedSpanTermsWithScores(Query query,
                                                                       TokenStream tokenStream,
                                                                       String fieldName,
                                                                       IndexReader reader)
                                                                throws IOException

  Creates a Map of `WeightedSpanTerms` from the given `Query` and `TokenStream`. Uses a supplied `IndexReader` to properly weight terms (for gradient highlighting).

  Parameters:
    `query` - that caused hit
    `tokenStream` - of text to be highlighted
    `fieldName` - restricts Term's used based on field name
    `reader` - to use for scoring
  Returns:
    Map of WeightedSpanTerms with quasi tf/idf scores
  Throws:
    `IOException` - If there is a low-level I/O error

### collectSpanQueryFields

    protected void collectSpanQueryFields(SpanQuery spanQuery,
                                          Set<String> fieldNames)

### mustRewriteQuery

    protected boolean mustRewriteQuery(SpanQuery spanQuery)

### getExpandMultiTermQuery

    public boolean getExpandMultiTermQuery()

### setExpandMultiTermQuery

    public void setExpandMultiTermQuery(boolean expandMultiTermQuery)

### isCachedTokenStream

    public boolean isCachedTokenStream()

### getTokenStream

    public TokenStream getTokenStream()

### setWrapIfNotCachingTokenFilter

    public void setWrapIfNotCachingTokenFilter(boolean wrap)

  By default, `TokenStream`s 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.

### setMaxDocCharsToAnalyze

    protected final void setMaxDocCharsToAnalyze(int maxDocCharsToAnalyze)

Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.