Package org.apache.lucene.document

# Class InetAddressRange

java.lang.Object
org.apache.lucene.document.Field
org.apache.lucene.document.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

- `newIntersectsQuery()` matches ip ranges that intersect the defined search range.
- `newWithinQuery()` matches ip ranges that are within the defined search range.
- `newContainsQuery()` matches ip ranges that contain the defined search range.
- `newCrossesQuery()` matches ip ranges that cross the defined search range

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class org.apache.lucene.document.Field

  `Field.Store`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `BYTES`
  The number of bytes per dimension : sync w/ `InetAddressPoint`

  ### Fields inherited from class org.apache.lucene.document.Field

  `fieldsData, name, type`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `InetAddressRange(String name, InetAddress min, InetAddress max)`
  Create a new InetAddressRange from min/max value

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static Query`
  `newContainsQuery(String field, InetAddress min, InetAddress max)`
  Create a query for matching indexed ip ranges that `CONTAINS` the defined range.
  `static Query`
  `newCrossesQuery(String field, InetAddress min, InetAddress max)`
  Create a query for matching indexed ip ranges that `CROSS` the defined range.
  `static Query`
  `newIntersectsQuery(String field, InetAddress min, InetAddress max)`
  Create a query for matching indexed ip ranges that `INTERSECT` the defined range.
  `static Query`
  `newWithinQuery(String field, InetAddress min, InetAddress max)`
  Create a query for matching indexed ip ranges that are `WITHIN` the defined range.
  `void`
  `setRangeValues(InetAddress min, InetAddress max)`
  Change (or set) the min/max values of the field.

  ### Methods inherited from class org.apache.lucene.document.Field

  `binaryValue, fieldType, getCharSequenceValue, invertableType, name, numericValue, readerValue, setBytesValue, setBytesValue, setByteValue, setDoubleValue, setFloatValue, setIntValue, setLongValue, setReaderValue, setShortValue, setStringValue, setTokenStream, storedValue, stringValue, tokenStream, tokenStreamValue, toString`

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

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

- ## Field Details

  - ### BYTES

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

- ## Constructor Details

  - ### 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 Details

  - ### 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