- Type Parameters:
K- Key type, e.g. StringV- Value type, e.g. double[] or ListD- Distance type, e.g. Double. Can be Void or Boolean for key types which don't support distance/similarity computation, only equality.
- All Known Implementing Classes:
AbstractEntryStore,ArrayListZipEntryStore,IndexStore,ZipEntryStore
public interface Store<K,V,D>
Abstraction of stores which can find values by key similarity/distance
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptiondefault <L,U, E> Store<L, U, E> adapt(Function<L, K> keyEncoder, Function<U, V> valueEncoder, Function<V, U> valueDecoder, Function<D, E> distanceDecoder) voiddefault voidadd(V value, KeyExtractor<V, K> keyExtractor, org.nasdanika.common.ProgressMonitor progressMonitor) default voidaddAll(Iterable<V> values, KeyExtractor<V, K> keyExtractor, org.nasdanika.common.ProgressMonitor progressMonitor) default voidaddAll(Stream<V> values, KeyExtractor<V, K> keyExtractor, org.nasdanika.common.ProgressMonitor progressMonitor) findNearest(K key, int limit) Returns values with distances for nearest keys.
-
Method Details
-
add
-
add
default void add(V value, KeyExtractor<V, K> keyExtractor, org.nasdanika.common.ProgressMonitor progressMonitor) -
addAll
-
addAll
-
findNearest
Returns values with distances for nearest keys. Ordered by distance.- Parameters:
key-limit- maximum number of elements to return- Returns:
-
adapt
-