Package elki.index.lsh
Class InMemoryLSHIndex.Instance
- java.lang.Object
-
- elki.index.AbstractRefiningIndex<V>
-
- elki.index.lsh.InMemoryLSHIndex.Instance
-
- All Implemented Interfaces:
elki.index.Index,elki.index.KNNIndex<V>,elki.index.RangeIndex<V>
- Enclosing class:
- InMemoryLSHIndex<V>
public class InMemoryLSHIndex.Instance extends elki.index.AbstractRefiningIndex<V> implements elki.index.KNNIndex<V>, elki.index.RangeIndex<V>Instance of a LSH index for a single relation.- Author:
- Erich Schubert
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classInMemoryLSHIndex.Instance.LSHKNNQueryClass for handling kNN queries against the LSH index.protected classInMemoryLSHIndex.Instance.LSHRangeQueryClass for handling kNN queries against the LSH index.
-
Field Summary
Fields Modifier and Type Field Description (package private) java.util.ArrayList<? extends LocalitySensitiveHashFunction<? super V>>hashfunctionsHash functions to use.(package private) java.util.ArrayList<it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap<elki.database.ids.DBIDs>>hashtablesThe actual tableprivate intnumberOfBucketsNumber of buckets to use.
-
Constructor Summary
Constructors Constructor Description Instance(elki.database.relation.Relation<V> relation, java.util.ArrayList<? extends LocalitySensitiveHashFunction<? super V>> hashfunctions, int numberOfBuckets)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected elki.database.ids.DBIDsgetCandidates(V obj)Get the candidates: points which have at least one hash bucket in common.elki.logging.LogginggetLogger()voidinitialize()elki.database.query.knn.KNNSearcher<V>kNNByObject(elki.database.query.distance.DistanceQuery<V> distanceQuery, int maxk, int flags)elki.database.query.range.RangeSearcher<V>rangeByObject(elki.database.query.distance.DistanceQuery<V> distanceQuery, double maxradius, int flags)-
Methods inherited from class elki.index.AbstractRefiningIndex
countRefinements, logStatistics, refine
-
-
-
-
Field Detail
-
hashfunctions
java.util.ArrayList<? extends LocalitySensitiveHashFunction<? super V>> hashfunctions
Hash functions to use.
-
hashtables
java.util.ArrayList<it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap<elki.database.ids.DBIDs>> hashtables
The actual table
-
numberOfBuckets
private int numberOfBuckets
Number of buckets to use.
-
-
Constructor Detail
-
Instance
public Instance(elki.database.relation.Relation<V> relation, java.util.ArrayList<? extends LocalitySensitiveHashFunction<? super V>> hashfunctions, int numberOfBuckets)
Constructor.- Parameters:
relation- Relation to index.hashfunctions- Hash functions.
-
-
Method Detail
-
initialize
public void initialize()
- Specified by:
initializein interfaceelki.index.Index
-
getLogger
public elki.logging.Logging getLogger()
- Specified by:
getLoggerin classelki.index.AbstractRefiningIndex<V>
-
kNNByObject
public elki.database.query.knn.KNNSearcher<V> kNNByObject(elki.database.query.distance.DistanceQuery<V> distanceQuery, int maxk, int flags)
- Specified by:
kNNByObjectin interfaceelki.index.KNNIndex<V>
-
rangeByObject
public elki.database.query.range.RangeSearcher<V> rangeByObject(elki.database.query.distance.DistanceQuery<V> distanceQuery, double maxradius, int flags)
- Specified by:
rangeByObjectin interfaceelki.index.RangeIndex<V>
-
getCandidates
protected elki.database.ids.DBIDs getCandidates(V obj)
Get the candidates: points which have at least one hash bucket in common.- Parameters:
obj- Query object- Returns:
- Candidates
-
-