Package org.apache.lucene.search

# Class PointInSetQuery

java.lang.Object
org.apache.lucene.search.Query
org.apache.lucene.search.PointInSetQuery

All Implemented Interfaces:
  `Accountable`

public abstract class PointInSetQuery extends Query implements Accountable
Abstract query class to find all documents whose single or multi-dimensional point values, previously indexed with e.g. `IntPoint`, is contained in the specified set.

This is for subclasses and works on the underlying binary encoding: to create range queries for lucene's standard `Point` types, refer to factory methods on those classes, e.g. `IntPoint.newSetQuery()` for fields indexed with `IntPoint`.

See Also:
  - `PointValues`
WARNING: This API is experimental and might change in incompatible ways in the next release.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static class`
`PointInSetQuery.Stream`
Iterator of encoded point values.

## Field Summary

Fields
Modifier and Type
Field
Description
`protected static final long`
`BASE_RAM_BYTES`

### Fields inherited from interface org.apache.lucene.util.Accountable

`NULL_ACCOUNTABLE`

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`PointInSetQuery(String field, int numDims, int bytesPerDim, PointInSetQuery.Stream packedPoints)`
The `packedPoints` iterator must be in sorted order.

## Method Summary

Modifier and Type
Method
Description
`final Weight`
`createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost)`
Expert: Constructs an appropriate Weight implementation for this query.
`final boolean`
`equals(Object other)`
Override and implement query instance equivalence properly in a subclass.
`int`
`getBytesPerDim()`
`String`
`getField()`
`int`
`getNumDims()`
`Collection<byte[]>`
`getPackedPoints()`
`final int`
`hashCode()`
Override and implement query hash code properly in a subclass.
`long`
`ramBytesUsed()`
Return the memory usage of this object in bytes.
`protected abstract String`
`toString(byte[] value)`
Returns a string of a single value in a human-readable format for debugging.
`final String`
`toString(String field)`
Prints a query to a string, with `field` assumed to be the default field and omitted.
`void`
`visit(QueryVisitor visitor)`
Recurse through the query tree, visiting any child queries.

### Methods inherited from class org.apache.lucene.search.Query

`classHash, rewrite, sameClassAs, toString`

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

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

### Methods inherited from interface org.apache.lucene.util.Accountable

`getChildResources`

## Field Details

### BASE_RAM_BYTES

protected static final long BASE_RAM_BYTES

## Constructor Details

### PointInSetQuery

protected PointInSetQuery(String field, int numDims, int bytesPerDim, PointInSetQuery.Stream packedPoints)
The `packedPoints` iterator must be in sorted order.

## Method Details

### visit

public void visit(QueryVisitor visitor)
Description copied from class: `Query`
Recurse through the query tree, visiting any child queries.

Specified by:
  `visit` in class `Query`
Parameters:
  `visitor` - a QueryVisitor to be called by each query in the tree

### createWeight

public final Weight createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost) throws IOException
Description copied from class: `Query`
Expert: Constructs an appropriate Weight implementation for this query.

Only implemented by primitive queries, which re-write to themselves.

Overrides:
  `createWeight` in class `Query`
Parameters:
  `scoreMode` - How the produced scorers will be consumed.
  `boost` - The boost that is propagated by the parent queries.
Throws:
  `IOException`

### getPackedPoints

public Collection<byte[]> getPackedPoints()

### getField

public String getField()

### getNumDims

public int getNumDims()

### getBytesPerDim

public int getBytesPerDim()

### hashCode

public final int hashCode()
Description copied from class: `Query`
Override and implement query hash code properly in a subclass. This is required so that `QueryCache` works properly.

Specified by:
  `hashCode` in class `Query`
See Also:
  - `Query.equals(Object)`

### equals

public final boolean equals(Object other)
Description copied from class: `Query`
Override and implement query instance equivalence properly in a subclass. This is required so that `QueryCache` works properly.

Typically a query will be equal to another only if it's an instance of the same class and its document-filtering properties are identical to those of the other instance. Utility methods are provided for certain repetitive code.

Specified by:
  `equals` in class `Query`
See Also:
  - `Query.sameClassAs(Object)`
  - `Query.classHash()`

### toString

public final String toString(String field)
Description copied from class: `Query`
Prints a query to a string, with `field` assumed to be the default field and omitted.

Specified by:
  `toString` in class `Query`

### toString

protected abstract String toString(byte[] value)
Returns a string of a single value in a human-readable format for debugging. This is used by `Query.toString()`.

The default implementation encodes the individual byte values.

Parameters:
  `value` - single value, never null
Returns:
  human readable value for debugging

### ramBytesUsed

public long ramBytesUsed()
Description copied from interface: `Accountable`
Return the memory usage of this object in bytes. Negative values are illegal.

Specified by:
  `ramBytesUsed` in interface `Accountable`