(self, knns_ids, queries, with_distances=False)
| 286 | return result |
| 287 | |
| 288 | def _extract_data_flat(self, knns_ids, queries, with_distances=False): |
| 289 | joined = knns_ids.join_inner(self.data, pw.left.knn_id == pw.right.id) |
| 290 | if with_distances: |
| 291 | selected_data = joined.select( |
| 292 | pw.left.query_id, dist=pw.left.knn_dist, *pw.right |
| 293 | ) |
| 294 | else: |
| 295 | selected_data = joined.select(pw.left.query_id, *pw.right) |
| 296 | |
| 297 | selected_data = queries.join_left( |
| 298 | selected_data, pw.left.id == pw.right.query_id |
| 299 | ).select(*pw.right.without(selected_data.query_id), query_id=pw.left.id) |
| 300 | |
| 301 | return selected_data |
no test coverage detected