Skip to content

Commit 4d6274f

Browse files
authored
Cleanup IVF PQ C++ index code (#421)
1 parent 00e1a21 commit 4d6274f

File tree

3 files changed

+16
-74
lines changed

3 files changed

+16
-74
lines changed

src/include/index/ivf_flat_index.h

Lines changed: 2 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -524,20 +524,6 @@ class ivf_flat_index {
524524
return true;
525525
}
526526

527-
auto write_index_arrays(
528-
const tiledb::Context& ctx,
529-
const std::string& centroids_uri,
530-
const std::string& parts_uri,
531-
const std::string& ids_uri,
532-
const std::string& indices_uri) const {
533-
write_matrix(ctx, centroids_, centroids_uri, 0, true);
534-
write_matrix(ctx, *partitioned_vectors_, parts_uri, 0, true);
535-
write_vector(ctx, partitioned_vectors_->ids(), ids_uri, 0, true);
536-
write_vector(ctx, partitioned_vectors_->indices(), indices_uri, 0, true);
537-
538-
return true;
539-
}
540-
541527
/*****************************************************************************
542528
*
543529
* Queries, infinite and finite.
@@ -1033,23 +1019,14 @@ class ivf_flat_index {
10331019
return indices;
10341020
}
10351021

1036-
void dump_group(const std::string& msg) {
1022+
void dump(const std::string& msg) {
10371023
if (!group_) {
10381024
throw std::runtime_error(
1039-
"[ivf_flat_index@dump_group] Cannot dump group because there is no "
1025+
"[ivf_flat_index@dump] Cannot dump group because there is no "
10401026
"group");
10411027
}
10421028
group_->dump(msg);
10431029
}
1044-
1045-
void dump_metadata(const std::string& msg) {
1046-
if (!group_) {
1047-
throw std::runtime_error(
1048-
"[ivf_flat_index@dump_metadata] Cannot dump metadata because there "
1049-
"is no group");
1050-
}
1051-
group_->metadata.dump(msg);
1052-
}
10531030
};
10541031

10551032
#endif // TILEDB_ivf_flat_index_H

src/include/index/ivf_pq_group.h

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,7 @@
5151
{"flat_ivf_centroids_array_name", "uncompressed_centroids"},
5252
{"pq_ivf_centroids_array_name", "partition_centroids"},
5353

54-
{"ivf_index_array_name", "partition_indexes"},
55-
54+
{"pq_ivf_indices_array_name", "partition_indexes"},
5655
{"pq_ivf_vectors_array_name", "shuffled_vectors"},
5756

5857
{"distance_tables_array_name", "pq_symmetric_distance_tables"},
@@ -113,12 +112,6 @@ class ivf_pq_group : public base_index_group<index_type> {
113112
array_name_to_uri_[array_name] =
114113
array_name_to_uri(group_uri_, array_name);
115114
}
116-
} else {
117-
valid_array_keys_.insert(array_key);
118-
valid_array_names_.insert(array_name);
119-
array_key_to_array_name_[array_key] = array_name;
120-
array_name_to_uri_[array_name] =
121-
array_name_to_uri(group_uri_, array_name);
122115
}
123116
valid_array_keys_.insert(array_key);
124117
valid_array_names_.insert(array_name);
@@ -135,7 +128,8 @@ class ivf_pq_group : public base_index_group<index_type> {
135128
cached_ctx_, flat_ivf_centroids_uri(), 0, timestamp);
136129
tiledb::Array::delete_fragments(
137130
cached_ctx_, pq_ivf_centroids_uri(), 0, timestamp);
138-
tiledb::Array::delete_fragments(cached_ctx_, ivf_index_uri(), 0, timestamp);
131+
tiledb::Array::delete_fragments(
132+
cached_ctx_, pq_ivf_indices_uri(), 0, timestamp);
139133
tiledb::Array::delete_fragments(cached_ctx_, this->ids_uri(), 0, timestamp);
140134
tiledb::Array::delete_fragments(
141135
cached_ctx_, pq_ivf_vectors_uri(), 0, timestamp);
@@ -181,8 +175,8 @@ class ivf_pq_group : public base_index_group<index_type> {
181175
[[nodiscard]] auto pq_ivf_centroids_uri() const {
182176
return this->array_key_to_uri("pq_ivf_centroids_array_name");
183177
}
184-
[[nodiscard]] auto ivf_index_uri() const {
185-
return this->array_key_to_uri("ivf_index_array_name");
178+
[[nodiscard]] auto pq_ivf_indices_uri() const {
179+
return this->array_key_to_uri("pq_ivf_indices_array_name");
186180
}
187181
[[nodiscard]] auto pq_ivf_vectors_uri() const {
188182
return this->array_key_to_uri("pq_ivf_vectors_array_name");
@@ -200,8 +194,8 @@ class ivf_pq_group : public base_index_group<index_type> {
200194
[[nodiscard]] auto pq_ivf_centroids_array_name() const {
201195
return this->array_key_to_array_name("pq_ivf_centroids_array_name");
202196
}
203-
[[nodiscard]] auto ivf_index_array_name() const {
204-
return this->array_key_to_array_name("ivf_index_array_name");
197+
[[nodiscard]] auto pq_ivf_indices_array_name() const {
198+
return this->array_key_to_array_name("pq_ivf_indices_array_name");
205199
}
206200
[[nodiscard]] auto pq_ivf_vectors_array_name() const {
207201
return this->array_key_to_array_name("pq_ivf_vectors_array_name");
@@ -331,12 +325,12 @@ class ivf_pq_group : public base_index_group<index_type> {
331325

332326
create_empty_for_vector<typename index_type::indices_type>(
333327
cached_ctx_,
334-
ivf_index_uri(),
328+
pq_ivf_indices_uri(),
335329
default_domain,
336330
default_tile_extent,
337331
default_compression);
338332
tiledb_helpers::add_to_group(
339-
write_group, ivf_index_uri(), ivf_index_array_name());
333+
write_group, pq_ivf_indices_uri(), pq_ivf_indices_array_name());
340334

341335
create_empty_for_vector<typename index_type::id_type>(
342336
cached_ctx_,

src/include/index/ivf_pq_index.h

Lines changed: 5 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -873,9 +873,6 @@ class ivf_pq_index {
873873
* This will read the centroids, indices, partitioned_ids, and
874874
* and the complete set of partitioned_pq_vectors, along with metadata
875875
* from a group_uri.
876-
*
877-
* @param group_uri
878-
* @return bool indicating success or failure of read
879876
*/
880877
auto read_index_infinite() {
881878
if (!group_) {
@@ -899,7 +896,7 @@ class ivf_pq_index {
899896
partitioned_pq_vectors_ = std::make_unique<tdb_pq_storage_type>(
900897
group_->cached_ctx(),
901898
group_->pq_ivf_vectors_uri(),
902-
group_->ivf_index_uri(),
899+
group_->pq_ivf_indices_uri(),
903900
group_->get_num_partitions() + 1,
904901
group_->ids_uri(),
905902
infinite_parts,
@@ -951,7 +948,7 @@ class ivf_pq_index {
951948
partitioned_pq_vectors_ = std::make_unique<tdb_pq_storage_type>(
952949
group_->cached_ctx(),
953950
group_->pq_ivf_vectors_uri(),
954-
group_->ivf_index_uri(),
951+
group_->pq_ivf_indices_uri(),
955952
group_->get_num_partitions() + 1,
956953
group_->ids_uri(),
957954
active_partitions,
@@ -1073,7 +1070,7 @@ class ivf_pq_index {
10731070
write_vector(
10741071
ctx,
10751072
partitioned_pq_vectors_->indices(),
1076-
write_group.ivf_index_uri(),
1073+
write_group.pq_ivf_indices_uri(),
10771074
0,
10781075
false,
10791076
temporal_policy_);
@@ -1104,23 +1101,6 @@ class ivf_pq_index {
11041101
return true;
11051102
}
11061103

1107-
auto write_index_arrays(
1108-
const tiledb::Context& ctx,
1109-
const std::string& centroids_uri,
1110-
const std::string& parts_uri,
1111-
const std::string& ids_uri,
1112-
const std::string& indices_uri,
1113-
bool overwrite) const {
1114-
tiledb::VFS vfs(ctx);
1115-
1116-
write_matrix(ctx, flat_ivf_centroids_, centroids_uri, 0, true);
1117-
write_matrix(ctx, *partitioned_pq_vectors_, parts_uri, 0, true);
1118-
write_vector(ctx, partitioned_pq_vectors_->ids(), ids_uri, 0, true);
1119-
write_vector(ctx, partitioned_pq_vectors_->indices(), indices_uri, 0, true);
1120-
1121-
return true;
1122-
}
1123-
11241104
static void clear_history(
11251105
const tiledb::Context& ctx,
11261106
const std::string& group_uri,
@@ -1786,23 +1766,14 @@ class ivf_pq_index {
17861766
return indices;
17871767
}
17881768

1789-
void dump_group(const std::string& msg) const {
1769+
void dump(const std::string& msg) const {
17901770
if (!group_) {
17911771
throw std::runtime_error(
1792-
"[ivf_flat_index@dump_group] Cannot dump group because there is no "
1772+
"[ivf_flat_index@dump] Cannot dump group because there is no "
17931773
"group");
17941774
}
17951775
group_->dump(msg);
17961776
}
1797-
1798-
void dump_metadata(const std::string& msg) const {
1799-
if (!group_) {
1800-
throw std::runtime_error(
1801-
"[ivf_flat_index@dump_metadata] Cannot dump metadata because there "
1802-
"is no group");
1803-
}
1804-
group_->metadata.dump(msg);
1805-
}
18061777
};
18071778

18081779
#endif // TILEDB_PQ_INDEX_H

0 commit comments

Comments
 (0)