O
- the type of DatabaseObject to be stored 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="Proc. Int. Conf. Very Large Data Bases (VLDB\'97)", url="http://www.vldb.org/conf/1997/P426.PDF", bibkey="DBLP:conf/vldb/CiacciaPZ97") public abstract class MTree<O> extends AbstractMTree<O,MTreeNode<O>,MTreeEntry,MTreeSettings<O,MTreeNode<O>,MTreeEntry>>
Reference:
P. Ciaccia, M. Patella, P. Zezula
M-tree: An Efficient Access Method for Similarity Search in Metric Spaces
In Proc. Int. Conf. Very Large Data Bases (VLDB'97)
AbstractMTree.Statistics
Modifier and Type | Field and Description |
---|---|
private static Logging |
LOG
The logger for this class.
|
EXTRA_INTEGRITY_CHECKS, settings, statistics
dirCapacity, dirMinimum, initialized, leafCapacity, leafMinimum
Constructor and Description |
---|
MTree(PageFile<MTreeNode<O>> pagefile,
MTreeSettings<O,MTreeNode<O>,MTreeEntry> settings)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
protected MTreeEntry |
createNewDirectoryEntry(MTreeNode<O> node,
DBID routingObjectID,
double parentDistance)
Creates a new directory entry representing the specified node.
|
protected MTreeNode<O> |
createNewDirectoryNode()
Creates a new directory node with the specified capacity.
|
protected MTreeNode<O> |
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, getDistanceFunction, getHeight, getLeaves, getSortedEntries, insert, insertAll, logStatistics, toString
createHeader, deleteNode, getDirMinimum, getFile, getLeafMinimum, getNode, getNode, getPageID, getPageSize, getRoot, getRootEntry, getRootID, getRootPath, initialize, initialize, initializeCapacities, initializeFromFile, isRoot, postDelete, writeNode
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getLongName, getShortName
private static final Logging LOG
public MTree(PageFile<MTreeNode<O>> pagefile, MTreeSettings<O,MTreeNode<O>,MTreeEntry> settings)
pagefile
- Page filesettings
- Tree settingsprotected void preInsert(MTreeEntry entry)
preInsert
in class IndexTree<MTreeNode<O>,MTreeEntry>
entry
- the entry to be insertedprotected MTreeEntry createNewDirectoryEntry(MTreeNode<O> node, DBID routingObjectID, double parentDistance)
AbstractMTree
createNewDirectoryEntry
in class AbstractMTree<O,MTreeNode<O>,MTreeEntry,MTreeSettings<O,MTreeNode<O>,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()
IndexTree
createRootEntry
in class IndexTree<MTreeNode<O>,MTreeEntry>
new MTreeDirectoryEntry(null, null, 0, null)
protected MTreeNode<O> createNewLeafNode()
IndexTree
createNewLeafNode
in class IndexTree<MTreeNode<O>,MTreeEntry>
protected MTreeNode<O> createNewDirectoryNode()
IndexTree
createNewDirectoryNode
in class IndexTree<MTreeNode<O>,MTreeEntry>
Copyright © 2019 ELKI Development Team. License information.