Class InetAddressRange

  • All Implemented Interfaces:
    IndexableField

    public class InetAddressRange
    extends Field
    An indexed InetAddress Range Field

    This field indexes an InetAddress range defined as a min/max pairs. It is single dimension only (indexed as two 16 byte paired values).

    Multiple values are supported.

    This field defines the following static factory methods for common search operations over Ip Ranges

    • Field Detail

      • BYTES

        public static final int BYTES
        The number of bytes per dimension : sync w/ InetAddressPoint
        See Also:
        Constant Field Values
    • Constructor Detail

      • InetAddressRange

        public InetAddressRange​(String name,
                                InetAddress min,
                                InetAddress max)
        Create a new InetAddressRange from min/max value
        Parameters:
        name - field name. must not be null.
        min - range min value; defined as an InetAddress
        max - range max value; defined as an InetAddress
    • Method Detail

      • setRangeValues

        public void setRangeValues​(InetAddress min,
                                   InetAddress max)
        Change (or set) the min/max values of the field.
        Parameters:
        min - range min value; defined as an InetAddress
        max - range max value; defined as an InetAddress
      • newIntersectsQuery

        public static Query newIntersectsQuery​(String field,
                                               InetAddress min,
                                               InetAddress max)
        Create a query for matching indexed ip ranges that INTERSECT the defined range.
        Parameters:
        field - field name. must not be null.
        min - range min value; provided as an InetAddress
        max - range max value; provided as an InetAddress
        Returns:
        query for matching intersecting ranges (overlap, within, crosses, or contains)
        Throws:
        IllegalArgumentException - if field is null, min or max is invalid
      • newContainsQuery

        public static Query newContainsQuery​(String field,
                                             InetAddress min,
                                             InetAddress max)
        Create a query for matching indexed ip ranges that CONTAINS the defined range.
        Parameters:
        field - field name. must not be null.
        min - range min value; provided as an InetAddress
        max - range max value; provided as an InetAddress
        Returns:
        query for matching intersecting ranges (overlap, within, crosses, or contains)
        Throws:
        IllegalArgumentException - if field is null, min or max is invalid
      • newWithinQuery

        public static Query newWithinQuery​(String field,
                                           InetAddress min,
                                           InetAddress max)
        Create a query for matching indexed ip ranges that are WITHIN the defined range.
        Parameters:
        field - field name. must not be null.
        min - range min value; provided as an InetAddress
        max - range max value; provided as an InetAddress
        Returns:
        query for matching intersecting ranges (overlap, within, crosses, or contains)
        Throws:
        IllegalArgumentException - if field is null, min or max is invalid
      • newCrossesQuery

        public static Query newCrossesQuery​(String field,
                                            InetAddress min,
                                            InetAddress max)
        Create a query for matching indexed ip ranges that CROSS the defined range.
        Parameters:
        field - field name. must not be null.
        min - range min value; provided as an InetAddress
        max - range max value; provided as an InetAddress
        Returns:
        query for matching intersecting ranges (overlap, within, crosses, or contains)
        Throws:
        IllegalArgumentException - if field is null, min or max is invalid