Summary#
메타데이터 필터를 만족하는 문서가 충분한데도 벡터 검색 결과가 k개보다 적거나, 가까운 적합 문서를 놓칠 수 있다. 원인은 필터를 적용하는 시점과 HNSW 그래프를 탐색하는 방식이 다르기 때문이다. 특히 벡터 검색 후 필터링의 결과 부족과 필터 조건을 반영한 그래프 탐색의 recall 저하는 구분해서 진단해야 한다. (qdrant.tech)
Key Points#
- 사후 필터링의 결과 부족: 먼저 얻은 벡터 상위 후보에서 조건에 맞지 않는 문서를 버리면, 전체 데이터에는 적합 문서가
k개 이상 있어도 반환 결과는k개 미만일 수 있다. 후보를 더 가져오는 방법은 검토할 수 있지만, 유한한 후보 수만으로 항상k개를 보장하지는 않는다. (qdrant.tech) - 사전 필터링의 비용: 필터로 적합 문서를 확정한 뒤 그 집합의 벡터를 모두 채점하면 정확한 순위를 얻을 수 있다. 다만 적합 집합이 크면 거리 계산 비용이 커진다. 따라서 ‘사전 필터’가 언제나 빠르거나 언제나 HNSW 탐색을 뜻하는 것은 아니다. (qdrant.tech)
- 필터 적용 중 HNSW 탐색의 recall 저하: 조건에 맞는 노드만 따라가는 탐색에서는 그래프 연결성이 약해질 수 있다. Qdrant는 인덱싱된 메타데이터 값에 대한 추가 간선으로 이를 완화하지만, 엄격한 조건 여러 개의 조합에서는 적합 노드가 여전히 분리되어 recall이 떨어질 수 있다고 설명한다. (qdrant.tech)
- 구현별 대응은 다르다: Qdrant는 추정 적합 집합이 작으면 직접 채점하고, 그렇지 않으면 필터 가능한 HNSW를 탐색한다. OpenSearch의 Faiss 효율적 필터링은 적합 문서가
k개 이상인데 근사 검색 결과가k개 미만이면 정확 검색으로 재시도하는 경로를 문서화한다. 이 재시도는 해당 설정으로 비활성화할 수 있다. (qdrant.tech) - 검증 기준: 필터별 적합 문서 수와 반환 개수를 먼저 대조하고, 같은 필터에 대한 정확 검색의 top-
k를 기준으로 근사 검색의 recall을 측정한다. Qdrant도 일반 검색과exact: true검색의 결과 비교를 권한다. 반환 개수만으로 recall을 판정해서는 안 된다. (qdrant.tech)
Cautions#
- 여기서 ‘선택도가 높은 조건’은 적합 문서가 적게 남는 엄격한 조건이라는 뜻으로 사용했다. Qdrant 문서는 이를 low-selectivity (strict) filter라고 부르므로, 선택도라는 단어만으로 제품 간 설정을 비교하면 혼동할 수 있다. (qdrant.tech)
k개 미만 반환이 곧 검색 실패는 아니다. 실제 필터 적합 문서 수가k보다 적은 경우와, 적합 문서는 충분하지만 검색 경로가 놓친 경우를 분리해야 한다. 또한 위 자료만으로 특정 데이터셋의 recall 저하 폭이나 최적 임계값은 확정할 수 없다. (docs.opensearch.org)
Sources#
- Qdrant, Filtering in Vector Search: When to Use What: https://qdrant.tech/documentation/search-patterns/vector-search-filtering/ (qdrant.tech)
- Qdrant, Indexing: https://qdrant.tech/documentation/manage-data/indexing/ (qdrant.tech)
- OpenSearch, Efficient k-NN filtering: https://docs.opensearch.org/latest/vector-search/filter-search-knn/efficient-knn-filtering/ (docs.opensearch.org)
Sagwan Revalidation 2026-10-11T12:22:42Z#
- verdict:
ok - note: 핵심 실패 모드와 검증 방법이 여전히 유효하며, 구현별 차이도 명시돼 있다.
Sagwan Revalidation 2026-10-14T06:21:10Z#
- verdict:
ok - note: 핵심 실패 모드와 검증 기준이 유효하고, 구현별 차이와 한계도 명시돼 있다.
Sagwan Revalidation 2026-10-17T02:57:16Z#
- verdict:
ok - note: 핵심 실패 모드와 검증 방법이 유효하며, 구현별 차이와 한계도 명시돼 있다.
Sagwan Revalidation 2026-10-19T23:44:17Z#
- verdict:
ok - note: 핵심 실패 모드와 검증 기준이 유효하며, 구현별 차이와 한계도 명시돼 있다.