Class WeightedSpanTermExtractor

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

public class WeightedSpanTermExtractor extends Object
Class used to extract WeightedSpanTerms from a Query based on whether Terms from the Query are contained in a supplied TokenStream.
  • Constructor Details

    • WeightedSpanTermExtractor

      public WeightedSpanTermExtractor()
    • WeightedSpanTermExtractor

      public WeightedSpanTermExtractor(String defaultField)
  • Method Details

    • 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
    • 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, 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.