Details
-
New Feature
-
Status: Open (View Workflow)
-
Critical
-
Resolution: Unresolved
-
None
-
None
Description
After the implementation of MDEV-33408:
Modify the basic graph search algorithm to support index condition pushdown. That is, only add nodes to the candidate result set that pass the WHERE clause.
This will allow queries of the form:
SELECT * |
FROM table |
WHERE cond(table.column) == true |
ORDER BY VEC_DISTANCE(table.emb, target_vec) |
LIMIT 10
|
to take advantage of the index.
This will have the following edge cases:
- What if none of the neighbors of the upper layer pass the where clause?
- What if none of the neighbors in the search pass the where clause, but if we had only considered nodes that did pass (nodes that were never explored in this search), we would have found a valid result set.
Attachments
Issue Links
- is blocked by
-
MDEV-33406 basic optimizer support for k-NN searches
- Closed
- relates to
-
MDEV-32887 vector search
- Stalled
-
MDEV-35032 streaming mode for mhnsw search
- Closed
-
MDEV-33412 cost-based optimizer choice for k-NN indexes
- Open
-
MDEV-34774 Vector queries crash in subquery or wrong results with WHERE
- Closed