Class DisjunctionMaxQuery.DisjunctionMaxWeight

java.lang.Object
org.apache.lucene.search.Weight
org.apache.lucene.search.DisjunctionMaxQuery.DisjunctionMaxWeight
All Implemented Interfaces:
SegmentCacheable
Enclosing class:
DisjunctionMaxQuery

protected class DisjunctionMaxQuery.DisjunctionMaxWeight extends Weight
Expert: the Weight for DisjunctionMaxQuery, used to normalize, score and explain these queries.

NOTE: this API and implementation is subject to change suddenly in the next release.

  • Field Details

    • weights

      protected final ArrayList<Weight> weights
      The Weights for our subqueries, in 1-1 correspondence with disjuncts
    • scoreMode

      private final ScoreMode scoreMode
  • Constructor Details

    • DisjunctionMaxWeight

      public DisjunctionMaxWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost) throws IOException
      Construct the Weight for this Query searched by searcher. Recursively construct subquery weights.
      Throws:
      IOException
  • Method Details

    • extractTerms

      public void extractTerms(Set<Term> terms)
      Description copied from class: Weight
      Expert: adds all terms occurring in this query to the terms set. If the Weight was created with needsScores == true then this method will only extract terms which are used for scoring, otherwise it will extract all terms which are used for matching.
      Specified by:
      extractTerms in class Weight
    • matches

      public Matches matches(LeafReaderContext context, int doc) throws IOException
      Description copied from class: Weight
      Returns Matches for a specific document, or null if the document does not match the parent query A query match that contains no position information (for example, a Point or DocValues query) will return MatchesUtils.MATCH_WITH_NO_TERMS
      Overrides:
      matches in class Weight
      Parameters:
      context - the reader's context to create the Matches for
      doc - the document's id relative to the given context's reader
      Throws:
      IOException
    • scorer

      public Scorer scorer(LeafReaderContext context) throws IOException
      Create the scorer used to score our associated DisjunctionMaxQuery
      Specified by:
      scorer in class Weight
      Parameters:
      context - the LeafReaderContext for which to return the Scorer.
      Returns:
      a Scorer which scores documents in/out-of order.
      Throws:
      IOException - if there is a low-level I/O error
    • isCacheable

      public boolean isCacheable(LeafReaderContext ctx)
      Returns:
      true if the object can be cached against a given leaf
    • explain

      public Explanation explain(LeafReaderContext context, int doc) throws IOException
      Explain the score we computed for doc
      Specified by:
      explain in class Weight
      Parameters:
      context - the readers context to create the Explanation for.
      doc - the document's id relative to the given context's reader
      Returns:
      an Explanation for the score
      Throws:
      IOException - if an IOException occurs