
O - Object typeD - Distance typepublic class MkTabTreeIndex<O,D extends Distance<D>> extends MkTabTree<O,D> implements RangeIndex<O>, KNNIndex<O>, RKNNIndex<O>
| Modifier and Type | Field and Description |
|---|---|
private KNNQuery<O,D> |
knnQuery
The knn query we use internally.
|
private Relation<O> |
relation
The relation indexed.
|
distanceFunction, distanceQuery, extraIntegrityChecksdirCapacity, dirMinimum, initialized, leafCapacity, leafMinimum| Constructor and Description |
|---|
MkTabTreeIndex(Relation<O> relation,
PageFile<MkTabTreeNode<O,D>> pagefile,
DistanceQuery<O,D> distanceQuery,
DistanceFunction<O,D> distanceFunction,
int k_max)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
protected MkTabEntry<D> |
createNewLeafEntry(DBID id,
O object,
D parentDistance)
Creates a new leaf entry representing the specified data object in the
specified subtree.
|
boolean |
delete(DBID id)
Throws an UnsupportedOperationException since deletion of objects is not
yet supported by an M-Tree.
|
void |
deleteAll(DBIDs ids)
Throws an UnsupportedOperationException since deletion of objects is not
yet supported by an M-Tree.
|
<S extends Distance<S>> |
getKNNQuery(DistanceQuery<O,S> distanceQuery,
Object... hints)
Get a KNN query object for the given distance query and k.
|
String |
getLongName()
A "pretty" name for the result, for use in titles, captions and menus.
|
<S extends Distance<S>> |
getRangeQuery(DistanceQuery<O,S> distanceQuery,
Object... hints)
Get a range query object for the given distance query and k.
|
<S extends Distance<S>> |
getRKNNQuery(DistanceQuery<O,S> distanceQuery,
Object... hints)
Get a KNN query object for the given distance query and k.
|
String |
getShortName()
A short name for the result, useful for file names.
|
void |
insert(DBID id)
Inserts the specified object into this index.
|
void |
insertAll(DBIDs ids)
Inserts the specified objects into this index.
|
private List<D> |
knnDistances(O object)
Returns the knn distance of the object with the specified id.
|
createNewDirectoryEntry, createNewDirectoryNode, createNewLeafNode, createRootEntry, getLogger, initializeCapacities, insert, kNNdistanceAdjustment, preInsert, reverseKNNQuerycreateHeader, getKmax, insertAllbatchNN, createEmptyRoot, distance, distance, doKNNQuery, getDistanceFactory, getDistanceFunction, getDistanceQuery, getHeight, getLeaves, getSortedEntries, getSortedEntries, toStringdeleteNode, getFile, getNode, getNode, getPageFileStatistics, getPageID, getPageSize, getRoot, getRootEntry, getRootID, getRootPath, initialize, initialize, initializeFromFile, isRoot, postDelete, writeNodeclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetPageFileStatisticspublic MkTabTreeIndex(Relation<O> relation, PageFile<MkTabTreeNode<O,D>> pagefile, DistanceQuery<O,D> distanceQuery, DistanceFunction<O,D> distanceFunction, int k_max)
relation - Relation indexedpagefile - Page filedistanceQuery - Distance querydistanceFunction - Distance functionk_max - Maximum value for kprotected MkTabEntry<D> createNewLeafEntry(DBID id, O object, D parentDistance)
object - the data object to be represented by the new entryparentDistance - the distance from the object to the routing object of
the parent nodeprivate List<D> knnDistances(O object)
object - the query objectpublic void insert(DBID id)
Indexpublic void insertAll(DBIDs ids)
Indexpublic final boolean delete(DBID id)
delete in interface Indexid - Object to removeUnsupportedOperationException - thrown, since deletions aren't
implemented yet.public void deleteAll(DBIDs ids)
deleteAll in interface Indexids - Objects to removeUnsupportedOperationException - thrown, since deletions aren't
implemented yet.public <S extends Distance<S>> KNNQuery<O,S> getKNNQuery(DistanceQuery<O,S> distanceQuery, Object... hints)
KNNIndexgetKNNQuery in interface KNNIndex<O>S - Distance typedistanceQuery - Distance queryhints - Hints for the optimizernullpublic <S extends Distance<S>> RangeQuery<O,S> getRangeQuery(DistanceQuery<O,S> distanceQuery, Object... hints)
RangeIndexgetRangeQuery in interface RangeIndex<O>S - Distance typedistanceQuery - Distance queryhints - Hints for the optimizernullpublic <S extends Distance<S>> RKNNQuery<O,S> getRKNNQuery(DistanceQuery<O,S> distanceQuery, Object... hints)
RKNNIndexgetRKNNQuery in interface RKNNIndex<O>S - Distance typedistanceQuery - Distance queryhints - Hints for the optimizernullpublic String getLongName()
ResultgetLongName in interface Resultpublic String getShortName()
ResultgetShortName in interface Result