Interface Store<K,V,D>

Type Parameters:
K - Key type, e.g. String
V - Value type, e.g. double[] or List
D - 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
    Modifier and Type
    Interface
    Description
    static interface 
     
  • Method Summary

    Modifier and Type
    Method
    Description
    default <L, U, E> Store<L,U,E>
    adapt(Function<L,K> keyEncoder, Function<U,V> valueEncoder, Function<V,U> valueDecoder, Function<D,E> distanceDecoder)
     
    void
    add(K key, V value, org.nasdanika.common.ProgressMonitor progressMonitor)
     
    default void
    add(V value, KeyExtractor<V,K> keyExtractor, org.nasdanika.common.ProgressMonitor progressMonitor)
     
    default void
    addAll(Iterable<V> values, KeyExtractor<V,K> keyExtractor, org.nasdanika.common.ProgressMonitor progressMonitor)
     
    default void
    addAll(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

      void add(K key, V value, org.nasdanika.common.ProgressMonitor progressMonitor)
    • add

      default void add(V value, KeyExtractor<V,K> keyExtractor, org.nasdanika.common.ProgressMonitor progressMonitor)
    • addAll

      default void addAll(Iterable<V> values, KeyExtractor<V,K> keyExtractor, org.nasdanika.common.ProgressMonitor progressMonitor)
    • addAll

      default void addAll(Stream<V> values, KeyExtractor<V,K> keyExtractor, org.nasdanika.common.ProgressMonitor progressMonitor)
    • findNearest

      List<Store.SearchResult<V,D>> findNearest(K key, int limit)
      Returns values with distances for nearest keys. Ordered by distance.
      Parameters:
      key -
      limit - maximum number of elements to return
      Returns:
    • adapt

      default <L, U, E> Store<L,U,E> adapt(Function<L,K> keyEncoder, Function<U,V> valueEncoder, Function<V,U> valueDecoder, Function<D,E> distanceDecoder)