In-graph filtering applies metadata conditions during the traversal of a graph-based vector index, rather than before the search restricts the candidate pool or after it discards results. As the search walks the graph, it evaluates each node against the filter and steers toward nodes that both are close to the query and satisfy the conditions.
This approach exists to avoid the weaknesses of the two simpler strategies. Pre-filtering can restrict the candidate set so much that the index loses navigability; post-filtering can return too few results when most top matches fail the filter. In-graph filtering keeps the full index navigable while honouring the filter, maintaining both speed and recall even under selective conditions.
It is one of the techniques, alongside adaptive traversal and filter-aware indexing, that lets modern vector databases handle metadata-heavy queries well. Because real applications almost always filter by category, permissions, tenant, or date, in-graph filtering has become a key capability separating databases that handle production filtering gracefully from those that stumble on it.