public class NumericIndexStrategyWrapper extends Object implements NumericIndexStrategy
Modifier | Constructor and Description |
---|---|
protected |
NumericIndexStrategyWrapper() |
|
NumericIndexStrategyWrapper(String id,
NumericIndexStrategy indexStrategy) |
Modifier and Type | Method and Description |
---|---|
List<IndexMetaData> |
createMetaData() |
void |
fromBinary(byte[] bytes)
Convert a stream of binary bytes to fields and data within an object.
|
MultiDimensionalCoordinateRanges[] |
getCoordinateRangesPerDimension(MultiDimensionalNumericData dataRange,
IndexMetaData... hints)
Return an integer coordinate range in each dimension for the given data range plus a bin ID if
that dimension is continuous
|
MultiDimensionalCoordinates |
getCoordinatesPerDimension(byte[] partitionKey,
byte[] sortKey)
Return an integer coordinate in each dimension for the given partition and sort key plus a bin
ID if that dimension is continuous.
|
double[] |
getHighestPrecisionIdRangePerDimension()
* Get the range/size of a single insertion ID for each dimension at the highest precision
supported by this index strategy
|
String |
getId() |
InsertionIds |
getInsertionIds(MultiDimensionalNumericData indexedData)
Returns a list of id's for insertion.
|
InsertionIds |
getInsertionIds(MultiDimensionalNumericData indexedData,
int maxDuplicateInsertionIds)
Returns a list of id's for insertion.
|
byte[][] |
getInsertionPartitionKeys(MultiDimensionalNumericData insertionData) |
NumericDimensionDefinition[] |
getOrderedDimensionDefinitions()
Returns an array of dimension definitions that defines this index strategy, the array is in the
order that is expected within multidimensional numeric data that is passed to this index
strategy
|
int |
getPartitionKeyLength()
* Get the offset in bytes before the dimensional index.
|
byte[][] |
getPredefinedSplits() |
byte[][] |
getQueryPartitionKeys(MultiDimensionalNumericData queryData,
IndexMetaData... hints) |
QueryRanges |
getQueryRanges(MultiDimensionalNumericData indexedRange,
IndexMetaData... hints)
Returns a list of query ranges for an specified numeric range.
|
QueryRanges |
getQueryRanges(MultiDimensionalNumericData indexedRange,
int maxRangeDecomposition,
IndexMetaData... hints)
Returns a list of query ranges for an specified numeric range.
|
MultiDimensionalNumericData |
getRangeForId(byte[] partitionKey,
byte[] sortKey)
Returns the range that the given ID represents
|
byte[] |
toBinary()
Convert fields and data within an object to binary form for transmission or storage.
|
protected NumericIndexStrategyWrapper()
public NumericIndexStrategyWrapper(String id, NumericIndexStrategy indexStrategy)
public String getId()
getId
in interface IndexStrategy<MultiDimensionalNumericData,MultiDimensionalNumericData>
public byte[] toBinary()
Persistable
toBinary
in interface Persistable
public void fromBinary(byte[] bytes)
Persistable
fromBinary
in interface Persistable
public QueryRanges getQueryRanges(MultiDimensionalNumericData indexedRange, IndexMetaData... hints)
SortedIndexStrategy
getQueryRanges
in interface SortedIndexStrategy<MultiDimensionalNumericData,MultiDimensionalNumericData>
indexedRange
- defines the numeric range for the querypublic QueryRanges getQueryRanges(MultiDimensionalNumericData indexedRange, int maxRangeDecomposition, IndexMetaData... hints)
SortedIndexStrategy
getQueryRanges
in interface SortedIndexStrategy<MultiDimensionalNumericData,MultiDimensionalNumericData>
indexedRange
- defines the numeric range for the querymaxRangeDecomposition
- the maximum number of ranges provided by a single query
decomposition, this is a best attempt and not a guaranteepublic InsertionIds getInsertionIds(MultiDimensionalNumericData indexedData)
SortedIndexStrategy
getInsertionIds
in interface SortedIndexStrategy<MultiDimensionalNumericData,MultiDimensionalNumericData>
indexedData
- defines the numeric data to be indexedpublic MultiDimensionalNumericData getRangeForId(byte[] partitionKey, byte[] sortKey)
SortedIndexStrategy
getRangeForId
in interface SortedIndexStrategy<MultiDimensionalNumericData,MultiDimensionalNumericData>
partitionKey
- the partition key part of the insertion ID to determine a range forsortKey
- the sort key part of the insertion ID to determine a range forpublic MultiDimensionalCoordinates getCoordinatesPerDimension(byte[] partitionKey, byte[] sortKey)
NumericIndexStrategy
getCoordinatesPerDimension
in interface NumericIndexStrategy
partitionKey
- the partition key to determine the coordinates forsortKey
- the sort key to determine the coordinates forpublic NumericDimensionDefinition[] getOrderedDimensionDefinitions()
NumericIndexStrategy
getOrderedDimensionDefinitions
in interface NumericIndexStrategy
public double[] getHighestPrecisionIdRangePerDimension()
NumericIndexStrategy
getHighestPrecisionIdRangePerDimension
in interface NumericIndexStrategy
public InsertionIds getInsertionIds(MultiDimensionalNumericData indexedData, int maxDuplicateInsertionIds)
SortedIndexStrategy
getInsertionIds
in interface SortedIndexStrategy<MultiDimensionalNumericData,MultiDimensionalNumericData>
indexedData
- defines the numeric data to be indexedmaxDuplicateInsertionIds
- the maximum number of insertion IDs that can be used, this is a
best attempt and not a guaranteepublic int getPartitionKeyLength()
NumericIndexStrategy
getPartitionKeyLength
in interface NumericIndexStrategy
getPartitionKeyLength
in interface PartitionIndexStrategy<MultiDimensionalNumericData,MultiDimensionalNumericData>
public List<IndexMetaData> createMetaData()
createMetaData
in interface IndexStrategy<MultiDimensionalNumericData,MultiDimensionalNumericData>
public MultiDimensionalCoordinateRanges[] getCoordinateRangesPerDimension(MultiDimensionalNumericData dataRange, IndexMetaData... hints)
NumericIndexStrategy
getCoordinateRangesPerDimension
in interface NumericIndexStrategy
dataRange
- the range to determine the coordinates forhints
- index hintspublic byte[][] getInsertionPartitionKeys(MultiDimensionalNumericData insertionData)
getInsertionPartitionKeys
in interface PartitionIndexStrategy<MultiDimensionalNumericData,MultiDimensionalNumericData>
public byte[][] getQueryPartitionKeys(MultiDimensionalNumericData queryData, IndexMetaData... hints)
getQueryPartitionKeys
in interface PartitionIndexStrategy<MultiDimensionalNumericData,MultiDimensionalNumericData>
public byte[][] getPredefinedSplits()
getPredefinedSplits
in interface PartitionIndexStrategy<MultiDimensionalNumericData,MultiDimensionalNumericData>
Copyright © 2013–2022. All rights reserved.