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
- Alphabetic
- By Inheritance
- GeoMesaFeatureIndex
- LazyLogging
- NamedIndex
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
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
-
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
-
abstract
def
keySpace: IndexKeySpace[T, U]
Primary key space used by this index
-
abstract
def
tieredKeySpace: Option[IndexKeySpace[_, _]]
Tiered key space beyond the primary one, if any
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
- val attributes: Seq[String]
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
-
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
-
def
createConverter(): WriteConverter[U]
Creates a function to generate row keys from features
-
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
- val ds: GeoMesaDataStore[_]
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(other: Any): Boolean
- Definition Classes
- GeoMesaFeatureIndex → AnyRef → Any
-
def
generateTableName(partition: Option[String] = None, limit: Option[Int] = None): String
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
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
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)
-
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
-
def
getPartitions: Seq[String]
Gets the partitions for this index, assuming that the schema is partitioned
-
def
getQueryStrategy(filter: FilterStrategy, hints: Hints, explain: Explainer = ExplainNull): QueryStrategy
Plans the query
Plans the query
- filter
filter strategy
- hints
query hints
- explain
explainer
-
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
-
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
-
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
-
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
-
def
hashCode(): Int
- Definition Classes
- GeoMesaFeatureIndex → AnyRef → Any
-
lazy val
idFromRow: IdFromRow
- Attributes
- protected
-
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 -
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
lazy val
logger: Logger
- Attributes
- protected
- Definition Classes
- LazyLogging
- Annotations
- @transient()
- val mode: IndexMode
-
val
name: String
The name used to identify the index
The name used to identify the index
- Definition Classes
- GeoMesaFeatureIndex → NamedIndex
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
val
serializedWithId: Boolean
Is the feature id serialized with the feature? Needed for back-compatibility with old data formats
- val sft: SimpleFeatureType
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
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
-
val
tableNameKey: String
- Attributes
- protected
-
def
toString(): String
- Definition Classes
- GeoMesaFeatureIndex → AnyRef → Any
-
val
version: Int
Current version of the index
Current version of the index
- Definition Classes
- GeoMesaFeatureIndex → NamedIndex
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated