Class 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 Detail

      • weights

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

        private final ScoreMode scoreMode
    • Constructor Detail

      • DisjunctionMaxWeight

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

      • extractTerms

        public void extractTerms​(java.util.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 java.io.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:
        java.io.IOException
      • scorer

        public Scorer scorer​(LeafReaderContext context)
                      throws java.io.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:
        java.io.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 java.io.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:
        java.io.IOException - if an IOException occurs