Class TermRangeQuery

    • Constructor Detail

      • TermRangeQuery

        public TermRangeQuery​(String field,
                              String lowerTerm,
                              String upperTerm,
                              boolean includeLower,
                              boolean includeUpper)
        Constructs a query selecting all terms greater/equal than lowerTerm but less/equal than upperTerm.

        If an endpoint is null, it is said to be "open". Either or both endpoints may be open. Open endpoints may not be exclusive (you can't select all but the first or last term without explicitly specifying the term to exclude.)

        Parameters:
        field - The field that holds both lower and upper terms.
        lowerTerm - The term text at the lower end of the range
        upperTerm - The term text at the upper end of the range
        includeLower - If true, the lowerTerm is included in the range.
        includeUpper - If true, the upperTerm is included in the range.
      • TermRangeQuery

        public TermRangeQuery​(String field,
                              String lowerTerm,
                              String upperTerm,
                              boolean includeLower,
                              boolean includeUpper,
                              Collator collator)
        Constructs a query selecting all terms greater/equal than lowerTerm but less/equal than upperTerm.

        If an endpoint is null, it is said to be "open". Either or both endpoints may be open. Open endpoints may not be exclusive (you can't select all but the first or last term without explicitly specifying the term to exclude.)

        If collator is not null, it will be used to decide whether index terms are within the given range, rather than using the Unicode code point order in which index terms are stored.

        WARNING: Using this constructor and supplying a non-null value in the collator parameter will cause every single index Term in the Field referenced by lowerTerm and/or upperTerm to be examined. Depending on the number of index Terms in this Field, the operation could be very slow.

        Parameters:
        lowerTerm - The Term text at the lower end of the range
        upperTerm - The Term text at the upper end of the range
        includeLower - If true, the lowerTerm is included in the range.
        includeUpper - If true, the upperTerm is included in the range.
        collator - The collator to use to collate index Terms, to determine their membership in the range bounded by lowerTerm and upperTerm.
    • Method Detail

      • getField

        public String getField()
        Returns the field name for this query
      • getLowerTerm

        public String getLowerTerm()
        Returns the lower value of this range query
      • getUpperTerm

        public String getUpperTerm()
        Returns the upper value of this range query
      • includesLower

        public boolean includesLower()
        Returns true if the lower endpoint is inclusive
      • includesUpper

        public boolean includesUpper()
        Returns true if the upper endpoint is inclusive
      • getCollator

        public Collator getCollator()
        Returns the collator used to determine range inclusion, if any.
      • toString

        public String toString​(String field)
        Prints a user-readable version of this query.
        Specified by:
        toString in class Query