13 #ifndef META_INDEXES_H
14 #define META_INDEXES_H
39 virtual void add (
idx_t n,
const float *x)
override;
43 float *distances,
idx_t *labels)
const override;
45 virtual void train (
idx_t n,
const float *x)
override;
47 virtual void reset ()
override;
49 virtual void set_typename ()
override;
60 std::vector<Index*> shard_indexes;
73 bool successive_ids =
true);
75 void add_shard (
Index *);
79 void sync_with_shard_indexes ();
81 Index *at(
int i) {
return shard_indexes[i]; }
84 virtual void add (
idx_t n,
const float *x)
override;
93 float *distances,
idx_t *labels)
const override;
95 virtual void train (
idx_t n,
const float *x)
override;
97 virtual void reset ()
override;
99 virtual void set_typename ()
override;
112 std::vector<Index*> sub_indexes;
117 void add_sub_index (
Index *);
118 void sync_with_sub_indexes ();
120 virtual void add (
idx_t n,
const float *x)
override;
125 float *distances,
idx_t *labels)
const override;
127 virtual void train (
idx_t n,
const float *x)
override;
129 virtual void reset ()
override;
131 virtual void set_typename ()
override;
virtual void train(idx_t n, const float *x) override
IndexShards(idx_t d, bool threaded=false, bool successive_ids=true)
virtual void search(idx_t n, const float *x, idx_t k, float *distances, idx_t *labels) const override
virtual void add_with_ids(idx_t n, const float *x, const long *xids) override
virtual void search(idx_t n, const float *x, idx_t k, float *distances, idx_t *labels) const override
virtual void reset() override
removes all elements from the database.
virtual void add(idx_t n, const float *x) override
this will fail. Use add_with_ids
std::vector< long > id_map
! whether pointers are deleted in destructo
virtual void train(idx_t n, const float *x) override
virtual void add(idx_t n, const float *x) override
supported only for sub-indices that implement add_with_ids
long idx_t
all indices are this type
virtual void add(idx_t n, const float *x) override
bool threaded
should the sub-indexes be deleted along with this?
virtual void reset() override
removes all elements from the database.
virtual void reset() override
removes all elements from the database.
virtual void search(idx_t n, const float *x, idx_t k, float *distances, idx_t *labels) const override
virtual void train(idx_t n, const float *x) override
virtual void add_with_ids(idx_t n, const float *x, const long *xids) override
IndexSplitVectors(idx_t d, bool threaded=false)
sum of dimensions seen so far
bool own_fields
! the sub-index