
O - the type of DatabaseObject to be stored in the metrical indexD - the type of Distance used in the metrical index@Title(value="M-Tree") @Description(value="Efficient Access Method for Similarity Search in Metric Spaces") @Reference(authors="P. Ciaccia, M. Patella, P. Zezula", title="M-tree: An Efficient Access Method for Similarity Search in Metric Spaces", booktitle="VLDB\'97, Proceedings of 23rd International Conference on Very Large Data Bases, August 25-29, 1997, Athens, Greece", url="http://www.vldb.org/conf/1997/P426.PDF") public abstract class MTree<O,D extends NumberDistance<D,?>> extends AbstractMTree<O,D,MTreeNode<O,D>,MTreeEntry,MTreeSettings<O,D,MTreeNode<O,D>,MTreeEntry>>
P. Ciaccia, M. Patella, P. Zezula
M-tree: An Efficient Access Method for Similarity Search in Metric Spaces
In Proceedings of 23rd International Conference on Very Large Data Bases
(VLDB'97), August 25-29, 1997, Athens, Greece
AbstractMTree.Statistics| Modifier and Type | Field and Description |
|---|---|
private static Logging |
LOG
The logger for this class.
|
EXTRA_INTEGRITY_CHECKS, settings, statisticsdirCapacity, dirMinimum, initialized, leafCapacity, leafMinimum| Constructor and Description |
|---|
MTree(PageFile<MTreeNode<O,D>> pagefile,
MTreeSettings<O,D,MTreeNode<O,D>,MTreeEntry> settings)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
protected MTreeEntry |
createNewDirectoryEntry(MTreeNode<O,D> node,
DBID routingObjectID,
double parentDistance)
Creates a new directory entry representing the specified node.
|
protected MTreeNode<O,D> |
createNewDirectoryNode()
Creates a new directory node with the specified capacity.
|
protected MTreeNode<O,D> |
createNewLeafNode()
Creates a new leaf node with the specified capacity.
|
protected MTreeEntry |
createRootEntry()
Creates an entry representing the root node.
|
protected Logging |
getLogger()
Get the (STATIC) logger for this class.
|
protected void |
preInsert(MTreeEntry entry)
Does nothing because no operations are necessary before inserting an entry.
|
createEmptyRoot, distance, distance, getDistanceFactory, getDistanceFunction, getHeight, getLeaves, getSortedEntries, insert, insertAll, logStatistics, toStringcreateHeader, deleteNode, getFile, getNode, getNode, getPageID, getPageSize, getRoot, getRootEntry, getRootID, getRootPath, initialize, initialize, initializeCapacities, initializeFromFile, isRoot, postDelete, writeNodeprivate static final Logging LOG
protected void preInsert(MTreeEntry entry)
preInsert in class IndexTree<MTreeNode<O,D extends NumberDistance<D,?>>,MTreeEntry>entry - the entry to be insertedprotected MTreeEntry createNewDirectoryEntry(MTreeNode<O,D> node, DBID routingObjectID, double parentDistance)
AbstractMTreecreateNewDirectoryEntry in class AbstractMTree<O,D extends NumberDistance<D,?>,MTreeNode<O,D extends NumberDistance<D,?>>,MTreeEntry,MTreeSettings<O,D extends NumberDistance<D,?>,MTreeNode<O,D extends NumberDistance<D,?>>,MTreeEntry>>node - the node to be represented by the new entryroutingObjectID - the id of the routing object of the nodeparentDistance - the distance from the routing object of the node to
the routing object of the parent nodeprotected MTreeEntry createRootEntry()
IndexTreecreateRootEntry in class IndexTree<MTreeNode<O,D extends NumberDistance<D,?>>,MTreeEntry>new MTreeDirectoryEntry(null, null, 0, null) protected MTreeNode<O,D> createNewLeafNode()
IndexTreecreateNewLeafNode in class IndexTree<MTreeNode<O,D extends NumberDistance<D,?>>,MTreeEntry>protected MTreeNode<O,D> createNewDirectoryNode()
IndexTreecreateNewDirectoryNode in class IndexTree<MTreeNode<O,D extends NumberDistance<D,?>>,MTreeEntry>protected Logging getLogger()
IndexTreegetLogger in class IndexTree<MTreeNode<O,D extends NumberDistance<D,?>>,MTreeEntry>