Class ShapeDocValuesField

java.lang.Object
org.apache.lucene.document.Field
org.apache.lucene.document.ShapeDocValuesField
All Implemented Interfaces:
IndexableField
Direct Known Subclasses:
LatLonShapeDocValuesField, XYShapeDocValuesField

public abstract class ShapeDocValuesField extends Field
A doc values field for LatLonShape and XYShape that uses ShapeDocValues as the underlying binary doc value format.

Note that this class cannot be instantiated directly due to different encodings XYEncodingUtils and GeoEncodingUtils

Concrete Implementations include: LatLonShapeDocValuesField and XYShapeDocValuesField

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

    • shapeDocValues

      protected final org.apache.lucene.document.ShapeDocValues shapeDocValues
      the binary doc value format for this field
    • FIELD_TYPE

      protected static final FieldType FIELD_TYPE
      FieldType for ShapeDocValues field
  • Method Details

    • name

      public String name()
      The name of the field
      Specified by:
      name in interface IndexableField
      Overrides:
      name in class Field
    • fieldType

      public IndexableFieldType fieldType()
      Gets the IndexableFieldType for this ShapeDocValue field
      Specified by:
      fieldType in interface IndexableField
      Overrides:
      fieldType in class Field
    • stringValue

      public String stringValue()
      Currently there is no string representation for the ShapeDocValueField
      Specified by:
      stringValue in interface IndexableField
      Overrides:
      stringValue in class Field
    • tokenStream

      public TokenStream tokenStream(Analyzer analyzer, TokenStream reuse)
      TokenStreams are not yet supported
      Specified by:
      tokenStream in interface IndexableField
      Overrides:
      tokenStream in class Field
      Parameters:
      analyzer - Analyzer that should be used to create the TokenStreams from
      reuse - TokenStream for a previous instance of this field name. This allows custom field types (like StringField and NumericField) that do not use the analyzer to still have good performance. Note: the passed-in type may be inappropriate, for example if you mix up different types of Fields for the same field name. So it's the responsibility of the implementation to check.
      Returns:
      TokenStream value for indexing the document. Should always return a non-null value if the field is to be indexed
    • numberOfTerms

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

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

      public abstract Geometry getCentroid()
      retrieves the centroid location for the geometry
    • getBoundingBox

      public abstract Geometry getBoundingBox()
      retrieves the bounding box for the geometry
    • getHighestDimensionType

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

      protected abstract double decodeX(int encoded)
      decodes x coordinates from encoded space
    • decodeY

      protected abstract double decodeY(int encoded)
      decodes y coordinates from encoded space