Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Add delete_where() API for bulk index deletion by filter

Đang mở
#488 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 5 ngày

Chưa có ai nhận issue này.

  • #683 của @Aryan-Pardeshi — đã đóng, không merge

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
58/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Ít trao đổi
Công nghệ
python, redis

Hướng nghiên cứu

Bắt đầu bằng cách xác định các điểm vào hiện có clear(), drop_documents(), drop_keys() và _delete_batch(), bao gồm cả các phiên bản tương đương bất đồng bộ của chúng. Trước tiên, hãy chạy các bài kiểm thử tích hợp cho hành vi xóa, sau đó kiểm thử các kết quả khớp chọn lọc, các kết quả khớp không thực hiện thao tác nào và việc xóa toàn bộ đối với các client standalone và cluster. Công việc được xem là hoàn tất khi cả hai API mới đều hoạt động, clear() dùng chung các thành phần nội bộ của việc xóa và tài liệu có một ví dụ sử dụng.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

enhancement

Summary

Add delete_where() / adelete_where() to delete index documents by filter expression, and refactor clear() to share the same internals.

Level: Intermediate

Current State

  • clear() deletes all documents via batched FilterQuery("*") flow.
  • drop_documents() / drop_keys() only delete known IDs/keys.
  • There is no public API to delete a filtered subset of index documents.

Proposed Change

  • Add:
    • delete_where(filter_expression, batch_size=500) -> int
    • adelete_where(filter_expression, batch_size=500) -> int
  • Refactor both clear() and delete_where() to use shared private internals:
    • common batch-ID fetch loop
    • existing _delete_batch() and async equivalent as delete primitive
  • Implement clear() as delete_where(FilterExpression("*")).

Definition of Done

  • Filtered bulk deletion works on standalone and cluster clients.
  • clear() delegates to the shared deletion internals (no duplicated batch loop).
  • Integration tests cover selective match, no-op match, and full-clear behavior.
  • Docs include one usage example.

Out of Scope

  • Hard-delete audit logging or soft-delete support.
Ngôn ngữ chính
Python
Star
431
Fork
107
Merge trung bình
5 ngày 17 giờ
Pull request đã merge (30 ngày)
16

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của redis/redis-vl-python

Tất cả issue của redis/redis-vl-python

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.