Class XYShapeDocValues

java.lang.Object
org.apache.lucene.document.XYShapeDocValues

public final class XYShapeDocValues extends Object
A concrete implementation of ShapeDocValues for storing binary doc value representation of XYShape geometries in a XYShapeDocValuesField

Note: This class cannot be instantiated directly. See XYShape for factory API based on different geometries.

WARNING: This API is experimental and might change in incompatible ways in the next release.
  • Field Details

    • VERSION

      protected static final byte VERSION
      doc value format version; used to support bwc for any encoding changes
      See Also:
    • shapeComparator

      protected final org.apache.lucene.document.ShapeDocValues.ShapeComparator shapeComparator
      the geometry comparator used to check relations
    • centroid

      protected final Geometry centroid
      the centroid of the shape docvalue
    • boundingBox

      protected final Geometry boundingBox
      the bounding box of the shape docvalue
  • Constructor Details

    • XYShapeDocValues

      protected XYShapeDocValues(List<ShapeField.DecodedTriangle> tessellation)
      protected ctor for instantiating a cartesian doc value based on a tessellation
    • XYShapeDocValues

      protected XYShapeDocValues(BytesRef binaryValue)
      protected ctor for instantiating a cartesian doc value based on an already retrieved binary format
  • Method Details

    • getCentroid

      public XYPoint getCentroid()
    • getBoundingBox

      public XYRectangle getBoundingBox()
    • computeCentroid

      protected XYPoint computeCentroid()
    • computeBoundingBox

      protected XYRectangle computeBoundingBox()
    • getEncoder

      protected org.apache.lucene.document.ShapeDocValues.Encoder getEncoder()
    • binaryValue

      protected BytesRef binaryValue()
      returns the encoded doc values field as a BytesRef
    • numberOfTerms

      public int numberOfTerms()
      Returns the number of terms (tessellated triangles) for this shape
    • getEncodedMinX

      public int getEncodedMinX()
      returns the min x value for the shape's bounding box
    • getEncodedMinY

      public int getEncodedMinY()
      returns the min y value for the shape's bounding box
    • getEncodedMaxX

      public int getEncodedMaxX()
      returns the max x value for the shape's bounding box
    • getEncodedMaxY

      public int getEncodedMaxY()
      returns the max y value for the shape's bounding box
    • getEncodedCentroidX

      protected int getEncodedCentroidX()
      Retrieves the encoded x centroid location for the geometry(s)
    • getEncodedCentroidY

      protected int getEncodedCentroidY()
      Retrieves the encoded y centroid location for the geometry(s)
    • getHighestDimension

      public ShapeField.DecodedTriangle.TYPE getHighestDimension()
      Retrieves the highest dimensional type (POINT, LINE, TRIANGLE) for computing the geometry(s) centroid
    • newGeometryQuery

      public static Query newGeometryQuery(String field, ShapeField.QueryRelation relation, Object... geometries)
      Creates a geometry query for shape docvalues
    • relate

      public PointValues.Relation relate(Component2D component) throws IOException
      Throws:
      IOException
    • vLongSize

      protected static int vLongSize(long i)
      Computes the variable Long size in bytes
    • vIntSize

      protected static int vIntSize(int i)
      Computes the variable Integer size in bytes