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() @IntrinsicCandidate()
-
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() @IntrinsicCandidate()
-
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() @IntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
-
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