summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/vespa/searchlib/tensor/hnsw_index.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/searchlib/src/vespa/searchlib/tensor/hnsw_index.cpp b/searchlib/src/vespa/searchlib/tensor/hnsw_index.cpp
index 36d970dfd01..540a7a86104 100644
--- a/searchlib/src/vespa/searchlib/tensor/hnsw_index.cpp
+++ b/searchlib/src/vespa/searchlib/tensor/hnsw_index.cpp
@@ -227,11 +227,13 @@ HnswIndex::search_layer(const TypedCells& input, uint32_t neighbors_to_find,
NearestPriQ candidates;
uint32_t doc_id_limit = _graph.node_refs.size();
if (filter) {
- assert(filter->size() >= doc_id_limit);
+ doc_id_limit = std::min(filter->size(), doc_id_limit);
}
auto visited = _visited_set_pool.get(doc_id_limit);
for (const auto &entry : best_neighbors.peek()) {
- assert(entry.docid < doc_id_limit);
+ if (entry.docid >= doc_id_limit) {
+ continue;
+ }
candidates.push(entry);
visited.mark(entry.docid);
if (filter && !filter->testBit(entry.docid)) {