Class/Object

org.locationtech.geomesa.index.api

GeoMesaFeatureIndex

Related Docs: object GeoMesaFeatureIndex | package api

Permalink

abstract class GeoMesaFeatureIndex[T, U] extends NamedIndex with LazyLogging

Represents a particular indexing strategy

T

values extracted from a filter and used for creating ranges - extracted geometries, z-ranges, etc

U

a single key space index value, e.g. Long for a z-value, etc

Linear Supertypes
LazyLogging, NamedIndex, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. GeoMesaFeatureIndex
  2. LazyLogging
  3. NamedIndex
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Instance Constructors

  1. new GeoMesaFeatureIndex(ds: GeoMesaDataStore[_], sft: SimpleFeatureType, name: String, version: Int, attributes: Seq[String], mode: IndexMode)

    Permalink

    ds

    data store

    sft

    simple feature type stored in this index

    name

    name of the index

    version

    version of the index

    attributes

    attributes used to create the index keys

    mode

    mode of the index (read/write/both)

Abstract Value Members

  1. abstract def getFilterStrategy(filter: Filter, transform: Option[SimpleFeatureType], stats: Option[GeoMesaStats]): Option[FilterStrategy]

    Permalink

    Gets options for a 'simple' filter, where each OR is on a single attribute, e.g.

    Gets options for a 'simple' filter, where each OR is on a single attribute, e.g. (bbox1 OR bbox2) AND dtg bbox AND dtg AND (attr1 = foo OR attr = bar) not: bbox OR dtg

    Because the inputs are simple, each one can be satisfied with a single query filter. The returned values will each satisfy the query.

    filter

    input filter

    transform

    attribute transforms

    returns

    a filter strategy which can satisfy the query, if available

  2. abstract def keySpace: IndexKeySpace[T, U]

    Permalink

    Primary key space used by this index

  3. abstract def tieredKeySpace: Option[IndexKeySpace[_, _]]

    Permalink

    Tiered key space beyond the primary one, if any

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. val attributes: Seq[String]

    Permalink

    attributes used to create the index keys

  6. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. def configureTableName(partition: Option[String] = None, limit: Option[Int] = None): String

    Permalink

    Create the metadata entry for the initial index table or a new partition

    Create the metadata entry for the initial index table or a new partition

    partition

    partition

    returns

    table name

  8. def createConverter(): WriteConverter[U]

    Permalink

    Creates a function to generate row keys from features

  9. def deleteTableNames(partition: Option[String] = None): Seq[String]

    Permalink

    Deletes the entire index

    Deletes the entire index

    partition

    only delete a single partition, instead of the whole index

  10. val ds: GeoMesaDataStore[_]

    Permalink

    data store

  11. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  12. def equals(other: Any): Boolean

    Permalink
    Definition Classes
    GeoMesaFeatureIndex → AnyRef → Any
  13. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. def generateTableName(partition: Option[String] = None, limit: Option[Int] = None): String

    Permalink

    Creates a valid, unique string for the underlying table

    Creates a valid, unique string for the underlying table

    partition

    partition

    limit

    limit on the length of a table name in the underlying database

    Attributes
    protected
  15. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  16. def getIdFromRow(row: Array[Byte], offset: Int, length: Int, feature: SimpleFeature): String

    Permalink

    Retrieve an ID from a row.

    Retrieve an ID from a row. All indices are assumed to encode the feature ID into the row key.

    The simple feature in the returned function signature is optional (null ok) - if provided the parsed UUID will be cached in the feature user data, if the sft is marked as using UUIDs

    row

    row bytes

    offset

    offset into the row bytes to the first valid byte for this row

    length

    number of valid bytes for this row

    feature

    simple feature (optional)

  17. def getIdOffset(row: Array[Byte], offset: Int, length: Int): Int

    Permalink

    Gets the offset (start) of the feature id from a row.

    Gets the offset (start) of the feature id from a row. All indices are assumed to encode the feature ID into the row key.

    row

    row bytes

    offset

    offset into the row bytes to the first valid byte for this row

    length

    number of valid bytes for this row

  18. def getPartitions: Seq[String]

    Permalink

    Gets the partitions for this index, assuming that the schema is partitioned

  19. def getQueryStrategy(filter: FilterStrategy, hints: Hints, explain: Explainer = ExplainNull): QueryStrategy

    Permalink

    Plans the query

    Plans the query

    filter

    filter strategy

    hints

    query hints

    explain

    explainer

  20. def getSplits(partition: Option[String] = None): Seq[Array[Byte]]

    Permalink

    Gets the initial splits for a table

    Gets the initial splits for a table

    partition

    partition, if any

  21. def getTableNames(partition: Option[String] = None): Seq[String]

    Permalink

    Gets the table name for this index

    Gets the table name for this index

    partition

    get the name for a particular partition, or all partitions

  22. def getTablesForQuery(filter: Option[Filter]): Seq[String]

    Permalink

    Gets the tables that should be scanned to satisfy a query

    Gets the tables that should be scanned to satisfy a query

    filter

    filter

  23. def hashCode(): Int

    Permalink
    Definition Classes
    GeoMesaFeatureIndex → AnyRef → Any
  24. lazy val idFromRow: IdFromRow

    Permalink
    Attributes
    protected
  25. val identifier: String

    Permalink

    Unique (for the given sft) identifier string for this index.

    Unique (for the given sft) identifier string for this index.

    Can be parsed with IndexId.parse, although note that it does not include the read/write mode

  26. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  27. lazy val logger: Logger

    Permalink
    Attributes
    protected
    Definition Classes
    LazyLogging
  28. val mode: IndexMode

    Permalink

    mode of the index (read/write/both)

  29. val name: String

    Permalink

    name of the index

    name of the index

    Definition Classes
    GeoMesaFeatureIndexNamedIndex
  30. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  31. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  32. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  33. val serializedWithId: Boolean

    Permalink

    Is the feature id serialized with the feature? Needed for back-compatibility with old data formats

  34. val sft: SimpleFeatureType

    Permalink

    simple feature type stored in this index

  35. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  36. def tableNameKey(partition: Option[String] = None): String

    Permalink

    The metadata key used to store the table name for this index

    The metadata key used to store the table name for this index

    partition

    partition

  37. val tableNameKey: String

    Permalink
    Attributes
    protected
  38. def toString(): String

    Permalink
    Definition Classes
    GeoMesaFeatureIndex → AnyRef → Any
  39. val version: Int

    Permalink

    version of the index

    version of the index

    Definition Classes
    GeoMesaFeatureIndexNamedIndex
  40. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  41. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  42. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from LazyLogging

Inherited from NamedIndex

Inherited from AnyRef

Inherited from Any

Ungrouped