Qdrant 포인트 삭제
Qdrant 포인트 삭제
Qdrant에서 포인트를 삭제하는 작업은 업데이트의 일부예요. 단건 삭제, 조건(필터) 기반 일괄 삭제, 그리고 컬렉션 전체 포인트 삭제까지 원하는 수준에 맞춰 처리할 수 있어요. 삭제는 검색 결과에서 즉시 반영됩니다.
단건 삭제
특정 ID의 포인트를 하나만 지울 때는 delete API에 ID를 넘겨요.
from qdrant_client import QdrantClient
client = QdrantClient(":memory:")
client.delete(
collection_name="my_collection",
points_selector=[1, 2, 3], # ID 목록
)
필터 기반 일괄 삭제
페이로드 조건을 만족하는 모든 포인트를 지우려면 필터를 사용해요. 예를 들어 archived가 true인 포인트를 전부 제거할 수 있어요.
from qdrant_client.models import Filter, FieldCondition, MatchValue
client.delete(
collection_name="my_collection",
points_selector=Filter(
must=[
FieldCondition(key="archived", match=MatchValue(value=True)),
]
),
)
필터 기반 삭제는 삭제할 조건이 명확한 경우 유용해요. 다만 조건이 넓을수록 많은 포인트가 지워지므로, 운영 환경에서는 대상 개수를 먼저 count로 확인하고 실행하는 걸 권장해요.
컬렉션 전체 삭제
모든 포인트를 지우되 컬렉션 구조는 유지하고 싶다면 delete_collection 대신 포인트 전체 삭제를 쓸 수 있어요. 컬렉션을 완전히 없애려면 delete_collection을 사용해요.
# 포인트만 전부 삭제
client.delete(
collection_name="my_collection",
points_selector=Filter(must=[]), # 조건 없는 필터 = 전체
)
전체 삭제 뒤에도 컬렉션과 기존 인덱스 설정은 유지되므로, 이어서 같은 스키마로 데이터를 다시 채워 넣기 좋아요.
더 알아보기
- 포인트 CRUD 전체 흐름은
concepts/points문서에서 이어서 보세요. - 파라미터·조건 필터 구문은
concepts/filtering문서에서 확인하세요.