Class DisjunctionMaxQuery.DisjunctionMaxWeight

  • All Implemented Interfaces:
    Enclosing class:

    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 ArrayList<Weight> weights
        The Weights for our subqueries, in 1-1 correspondence with disjuncts
    • Constructor Detail

      • DisjunctionMaxWeight

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

      • 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
        matches in class Weight
        context - the reader's context to create the Matches for
        doc - the document's id relative to the given context's reader
      • isCacheable

        public boolean isCacheable​(LeafReaderContext ctx)
        true if the object can be cached against a given leaf