Class DeLiCluTreeIndex<O extends elki.data.NumberVector>
- java.lang.Object
-
- elki.index.tree.IndexTree<N,E>
-
- elki.index.tree.spatial.rstarvariants.AbstractRStarTree<N,E,S>
-
- elki.index.tree.spatial.rstarvariants.NonFlatRStarTree<DeLiCluNode,DeLiCluEntry,RTreeSettings>
-
- elki.index.tree.spatial.rstarvariants.deliclu.DeLiCluTree
-
- elki.index.tree.spatial.rstarvariants.deliclu.DeLiCluTreeIndex<O>
-
- Type Parameters:
O- Object type
- All Implemented Interfaces:
elki.index.DistancePriorityIndex<O>,elki.index.DynamicIndex,elki.index.Index,elki.index.KNNIndex<O>,elki.index.RangeIndex<O>
public class DeLiCluTreeIndex<O extends elki.data.NumberVector> extends DeLiCluTree implements elki.index.DistancePriorityIndex<O>, elki.index.DynamicIndex
The common use of the DeLiClu tree: indexing number vectors.- Since:
- 0.4.0
- Author:
- Erich Schubert
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class elki.index.tree.spatial.rstarvariants.AbstractRStarTree
AbstractRStarTree.Statistics
-
-
Field Summary
Fields Modifier and Type Field Description private static elki.logging.LoggingLOGThe appropriate logger for this index.private elki.database.relation.Relation<O>relationThe relation we index.-
Fields inherited from class elki.index.tree.spatial.rstarvariants.AbstractRStarTree
EXTRA_INTEGRITY_CHECKS, height, settings, statistics
-
-
Constructor Summary
Constructors Constructor Description DeLiCluTreeIndex(elki.database.relation.Relation<O> relation, elki.persistent.PageFile<DeLiCluNode> pagefile, RTreeSettings settings)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected DeLiCluLeafEntrycreateNewLeafEntry(elki.database.ids.DBID id)Creates a new leaf entry representing the specified data object.booleandelete(elki.database.ids.DBIDRef id)Deletes the specified object from this index.voiddeleteAll(elki.database.ids.DBIDs ids)protected elki.logging.LogginggetLogger()voidinitialize()voidinsert(elki.database.ids.DBIDRef id)Inserts the specified real vector object into this index.voidinsertAll(elki.database.ids.DBIDs ids)Inserts the specified objects into this index.elki.database.query.knn.KNNSearcher<O>kNNByObject(elki.database.query.distance.DistanceQuery<O> distanceQuery, int maxk, int flags)elki.database.query.PrioritySearcher<O>priorityByObject(elki.database.query.distance.DistanceQuery<O> distanceQuery, double maxradius, int flags)elki.database.query.range.RangeSearcher<O>rangeByObject(elki.database.query.distance.DistanceQuery<O> distanceQuery, double maxradius, int flags)elki.index.tree.IndexTreePath<DeLiCluEntry>setHandled(elki.database.ids.DBIDRef id, O obj)Marks the specified object as handled and returns the path of node ids from the root to the objects's parent.-
Methods inherited from class elki.index.tree.spatial.rstarvariants.deliclu.DeLiCluTree
createNewDirectoryEntry, createNewDirectoryNode, createNewLeafNode, createRootEntry, getExpanded, getExpanded, setExpanded
-
Methods inherited from class elki.index.tree.spatial.rstarvariants.NonFlatRStarTree
bulkLoad, computeHeight, createEmptyRoot, hasOverflow, hasUnderflow
-
Methods inherited from class elki.index.tree.spatial.rstarvariants.AbstractRStarTree
adjustTree, canBulkLoad, choosePath, containedTest, createBulkLeafNodes, createNewRoot, deletePath, doExtraIntegrityChecks, findPathToObject, getHeight, getLeaves, initializeCapacities, initializeFromFile, insertEntry, insertLeaf, logStatistics, reInsert, setHeight, toString
-
Methods inherited from class elki.index.tree.IndexTree
createHeader, deleteNode, getFile, getNode, getNode, getPageID, getPageSize, getRootEntry, getRootID, getRootPath, initialize, isRoot, postDelete, preInsert, writeNode
-
-
-
-
Field Detail
-
relation
private elki.database.relation.Relation<O extends elki.data.NumberVector> relation
The relation we index.
-
LOG
private static final elki.logging.Logging LOG
The appropriate logger for this index.
-
-
Constructor Detail
-
DeLiCluTreeIndex
public DeLiCluTreeIndex(elki.database.relation.Relation<O> relation, elki.persistent.PageFile<DeLiCluNode> pagefile, RTreeSettings settings)
Constructor.- Parameters:
relation- Relation to indexpagefile- Page filesettings- Tree settings
-
-
Method Detail
-
createNewLeafEntry
protected DeLiCluLeafEntry createNewLeafEntry(elki.database.ids.DBID id)
Creates a new leaf entry representing the specified data object.- Parameters:
id- Object id
-
setHandled
public elki.index.tree.IndexTreePath<DeLiCluEntry> setHandled(elki.database.ids.DBIDRef id, O obj)
Marks the specified object as handled and returns the path of node ids from the root to the objects's parent.- Parameters:
id- the objects id to be marked as handledobj- the object to be marked as handled- Returns:
- the path of node ids from the root to the objects's parent
-
initialize
public void initialize()
- Specified by:
initializein interfaceelki.index.Index- Overrides:
initializein classelki.index.tree.IndexTree<DeLiCluNode,DeLiCluEntry>
-
insert
public final void insert(elki.database.ids.DBIDRef id)
Inserts the specified real vector object into this index.- Specified by:
insertin interfaceelki.index.DynamicIndex- Parameters:
id- the object id that was inserted
-
insertAll
public final void insertAll(elki.database.ids.DBIDs ids)
Inserts the specified objects into this index. If a bulk load mode is implemented, the objects are inserted in one bulk.- Specified by:
insertAllin interfaceelki.index.DynamicIndex- Parameters:
ids- the objects to be inserted
-
delete
public final boolean delete(elki.database.ids.DBIDRef id)
Deletes the specified object from this index.- Specified by:
deletein interfaceelki.index.DynamicIndex- Returns:
- true if this index did contain the object with the specified id, false otherwise
-
deleteAll
public void deleteAll(elki.database.ids.DBIDs ids)
- Specified by:
deleteAllin interfaceelki.index.DynamicIndex
-
kNNByObject
public elki.database.query.knn.KNNSearcher<O> kNNByObject(elki.database.query.distance.DistanceQuery<O> distanceQuery, int maxk, int flags)
-
rangeByObject
public elki.database.query.range.RangeSearcher<O> rangeByObject(elki.database.query.distance.DistanceQuery<O> distanceQuery, double maxradius, int flags)
-
priorityByObject
public elki.database.query.PrioritySearcher<O> priorityByObject(elki.database.query.distance.DistanceQuery<O> distanceQuery, double maxradius, int flags)
- Specified by:
priorityByObjectin interfaceelki.index.DistancePriorityIndex<O extends elki.data.NumberVector>
-
getLogger
protected elki.logging.Logging getLogger()
- Overrides:
getLoggerin classDeLiCluTree
-
-