org.apache.lucene.monitor

## Class QueryTree

- java.lang.Object
- - org.apache.lucene.monitor.QueryTree

-     public abstract class QueryTree
      extends Object

  A representation of a node in a query tree Queries are analyzed and converted into an abstract tree, consisting of conjunction and disjunction nodes, and leaf nodes containing terms. Terms may be collected from a node, which will use the weights of its sub-nodes to determine which paths are followed. The path may be changed by calling `advancePhase(double)`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `QueryTree()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract boolean` | `advancePhase(double minWeight)` Find the next-most highly-weighted path below this node
    `static QueryTree` | `anyTerm(String reason)` Returns a leaf node that will match any document
    `abstract void` | `collectTerms(BiConsumer<String,BytesRef> termCollector)` Collect terms from the most highly-weighted path below this node
    `static QueryTree` | `conjunction(List<Function<TermWeightor,QueryTree>> children, TermWeightor weightor)` Returns a conjunction of a set of child nodes
    `static QueryTree` | `disjunction(List<Function<TermWeightor,QueryTree>> children, TermWeightor weightor)` Returns a disjunction of a set of child nodes
    `protected String` | `space(int width)` Returns a string of `width` spaces
    `static QueryTree` | `term(String field, BytesRef term, double weight)` Returns a leaf node for a particular term and weight The weight must be greater than 0
    `static QueryTree` | `term(Term term, double weight)` Returns a leaf node for a particular term and weight The weight must be greater than 0
    `static QueryTree` | `term(Term term, TermWeightor weightor)` Returns a leaf node for a particular term
    `String` | `toString()`
    `abstract String` | `toString(int depth)` Returns a string representation of the node
    `abstract double` | `weight()` The weight of this node

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### QueryTree

          public QueryTree()

  - ### Method Detail

    - #### weight

          public abstract double weight()

      The weight of this node

    - #### collectTerms

          public abstract void collectTerms(BiConsumer<String,BytesRef> termCollector)

      Collect terms from the most highly-weighted path below this node

    - #### advancePhase

          public abstract boolean advancePhase(double minWeight)

      Find the next-most highly-weighted path below this node
      Parameters:
        `minWeight` - do not advance if the next path has a weight below this value
      Returns:
        `false` if there are no more paths above the minimum weight

    - #### toString

          public abstract String toString(int depth)

      Returns a string representation of the node
      Parameters:
        `depth` - the current depth of this node in the overall query tree

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### space

          protected String space(int width)

      Returns a string of `width` spaces

    - #### term

          public static QueryTree term(Term term,
                                       TermWeightor weightor)

      Returns a leaf node for a particular term

    - #### term

          public static QueryTree term(Term term,
                                       double weight)

      Returns a leaf node for a particular term and weight The weight must be greater than 0

    - #### term

          public static QueryTree term(String field,
                                       BytesRef term,
                                       double weight)

      Returns a leaf node for a particular term and weight The weight must be greater than 0

    - #### anyTerm

          public static QueryTree anyTerm(String reason)

      Returns a leaf node that will match any document

    - #### conjunction

          public static QueryTree conjunction(List<Function<TermWeightor,QueryTree>> children,
                                              TermWeightor weightor)

      Returns a conjunction of a set of child nodes

    - #### disjunction

          public static QueryTree disjunction(List<Function<TermWeightor,QueryTree>> children,
                                              TermWeightor weightor)

      Returns a disjunction of a set of child nodes

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