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
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)

    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]): Option[FilterStrategy]

    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 (attr = foo OR attr = bar) not: bbox OR dtg

    Because the input is simple, it can be satisfied with a single query filter.

    filter

    input filter

    transform

    attribute transforms

    returns

    a filter strategy which can satisfy the query, if available

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

    Primary key space used by this index

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

    Tiered key space beyond the primary one, if any

Concrete Value Members

  1. val attributes: Seq[String]
  2. def configureTableName(partition: Option[String] = None, limit: Option[Int] = None): String

    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

  3. def createConverter(): WriteConverter[U]

    Creates a function to generate row keys from features

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

    Deletes the entire index

    Deletes the entire index

    partition

    only delete a single partition, instead of the whole index

  5. val ds: GeoMesaDataStore[_]
  6. def equals(other: Any): Boolean
    Definition Classes
    GeoMesaFeatureIndex → AnyRef → Any
  7. def getIdFromRow(row: Array[Byte], offset: Int, length: Int, feature: SimpleFeature): String

    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)

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

    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

  9. def getPartitions: Seq[String]

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

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

    Plans the query

    Plans the query

    filter

    filter strategy

    hints

    query hints

    explain

    explainer

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

    Gets the initial splits for a table

    Gets the initial splits for a table

    partition

    partition, if any

  12. def getTableName(partition: Option[String] = None): String

    Gets the single table name for this index.

    Gets the single table name for this index. If this is a partitioned index, then the partition argument must be defined. A runtime exception will be thrown if multiple or zero tables are found.

    partition

    get the name for a particular partition, if the index is partitioned

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

    Gets table names for this index

    Gets table names for this index

    partition

    get the name for a particular partition, or all partitions

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

    Gets the tables that should be scanned to satisfy a query

    Gets the tables that should be scanned to satisfy a query

    filter

    filter

  15. def hashCode(): Int
    Definition Classes
    GeoMesaFeatureIndex → AnyRef → Any
  16. val identifier: String

    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

  17. val mode: IndexMode
  18. val name: String

    The name used to identify the index

    The name used to identify the index

    Definition Classes
    GeoMesaFeatureIndexNamedIndex
  19. val serializedWithId: Boolean

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

  20. val sft: SimpleFeatureType
  21. def tableNameKey(partition: Option[String] = None): String

    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

  22. def toString(): String
    Definition Classes
    GeoMesaFeatureIndex → AnyRef → Any
  23. val version: Int

    Current version of the index

    Current version of the index

    Definition Classes
    GeoMesaFeatureIndexNamedIndex