Delete a document from the sparse inverted index.
(
&mut self,
task: &ExecutionTask,
tid: u64,
collection: &str,
field_name: &str,
doc_id: &str,
)
| 157 | |
| 158 | /// Delete a document from the sparse inverted index. |
| 159 | pub(in crate::data::executor) fn execute_sparse_delete( |
| 160 | &mut self, |
| 161 | task: &ExecutionTask, |
| 162 | tid: u64, |
| 163 | collection: &str, |
| 164 | field_name: &str, |
| 165 | doc_id: &str, |
| 166 | ) -> Response { |
| 167 | debug!(core = self.core_id, %collection, %field_name, %doc_id, "sparse delete"); |
| 168 | |
| 169 | let key = Self::sparse_index_key(tid, collection, field_name); |
| 170 | let Some(index) = self.sparse_vector_indexes.get_mut(&key) else { |
| 171 | return self.response_error(task, ErrorCode::NotFound); |
| 172 | }; |
| 173 | |
| 174 | if index.delete(doc_id) { |
| 175 | self.checkpoint_coordinator.mark_dirty("vector", 1); |
| 176 | self.response_ok(task) |
| 177 | } else { |
| 178 | self.response_error(task, ErrorCode::NotFound) |
| 179 | } |
| 180 | } |
| 181 | } |
no test coverage detected