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:
WARNING: This API is experimental and might change in incompatible ways in the next release.
  • 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
      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:
    • 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 that other instance. Utility methods are provided for certain repetitive code.

      Specified by:
      equals in class Query
      See Also:
    • 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