com.github.jelmerk.knn.scalalike.bruteforce
By default after indexing this many items progress will be reported to registered progress listeners.
By default after indexing this many items progress will be reported to registered progress listeners.
Add a new item to the index.
Add a new item to the index. If an item with the same identifier already exists in the index then :
If deletes are disabled on this index the method will return false and the item will not be updated.
If deletes are enabled and the version of the item has is higher version than that of the item currently stored in the index the old item will be removed and the new item added, otherwise this method will return false and the item will not be updated.
the item to add to the index
true if the item was added to the index
IllegalArgumentException
thrown when the item has the wrong dimensionality
Add multiple items to the index.
Add multiple items to the index. Reports progress to the passed in progress listener every progressUpdateInterval elements indexed.
the items to add to the index
number of threads to use for parallel indexing
listener to report progress to
after indexing this many items progress will be reported
Returns an item by its identifier.
Returns an item by its identifier. If the item does not exist in the index a NoSuchElementException is thrown.
unique identifier of the item to return
the item
Check if an item is contained in this index
Check if an item is contained in this index
unique identifier of the item
true if an item is contained in this index, false otherwise
the java index to delegate calls to
the java index to delegate calls to
Find the items closest to the passed in vector.
Find the items closest to the passed in vector.
the vector
number of items to return
the items closest to the passed in vector
Find the items closest to the item identified by the passed in id.
Find the items closest to the item identified by the passed in id. If the id does not match an item an empty list is returned. the element itself is not included in the response.
of the item to find the neighbors of
number of neighbors to return
the items closest to the item
Optionally return an item by its identifier
Optionally return an item by its identifier
unique identifier of the item to return
the item
Removes an item from the index.
Removes an item from the index. If the index does not support deletes or an item with the same identifier exists in the index with a higher version number, then this method will return false and the item will not be removed.
unique identifier or the item to remove
version of the delete. If your items don't override version use 0
true if an item was removed from the index
Saves the index to a path.
Saves the index to a path. Saving is not thread safe and you should not modify the index while saving.
path to write the index to
Saves the index to a file.
Saves the index to a file. Saving is not thread safe and you should not modify the index while saving.
file to write the index to
Saves the index to an OutputStream.
Saves the index to an OutputStream. Saving is not thread safe and you should not modify the index while saving.
the output stream to write the index to
(Changed in version 2.9.0) The behavior of scanRight
has changed. The previous behavior can be reproduced with scanRight.reverse.
Returns the size of the index.
Returns the size of the index.
size of the index
(Changed in version 2.9.0) transpose
throws an IllegalArgumentException
if collections are not uniformly sized.
Implementation of Index that uses brute force
Type of the external identifier of an item
Type of the vector to perform distance calculation on
Type of items stored in the index
Type of distance between items (expect any numeric type: float, double, int, ..)