Chèn Thực Thể

Phần này mô tả cách chèn dữ liệu vào Milvus thông qua phía máy khách.

Bạn cũng có thể sử dụng MilvusDM để di chuyển dữ liệu vào Milvus. MilvusDM là một công cụ mã nguồn mở được thiết kế đặc biệt để nhập và xuất dữ liệu Milvus.

Milvus 2.1 hỗ trợ kiểu dữ liệu VARCHAR trên các trường scalar. Khi xây dựng một chỉ mục cho một trường scalar kiểu VARCHAR, loại chỉ mục mặc định là một cây tiền tố (trie).

Ví dụ sau đây chèn 2,000 hàng dữ liệu được tạo ngẫu nhiên như dữ liệu mẫu (ví dụ về dòng lệnh Milvus sử dụng một tập tin CSV từ xa đã được xây sẵn chứa dữ liệu tương tự). Các ứng dụng thực tế thường sử dụng các vector có số chiều cao hơn so với ví dụ. Bạn có thể chuẩn bị dữ liệu của riêng mình để thay thế dữ liệu m

Chuẩn bị Biểu thức Logic

Chuẩn bị một biểu thức logic để lọc các thực thể cần xóa.

Milvus chỉ hỗ trợ xóa các thực thể có các khóa chính đã được xác định rõ, điều này có thể được thực hiện bằng cách sử dụng toán tử "in". Các toán tử khác chỉ có thể được sử dụng trong việc lọc theo giá trị cố định để truy vấn hoặc tìm kiếm vector.

Ví dụ dưới đây lọc dữ liệu sử dụng các giá trị khóa chính là 0 và 1.

expr = "book_id in [0,1]"

Tương tự như câu lệnh WHERE trong SQL

Xóa Thực Thể

Sử dụng biểu thức logic bạn đã tạo để xóa các thực thể. Milvus sẽ trả về danh sách các ID của các thực thể đã bị xóa.

from pymilvus import Collection
collection = Collection("book")      # Lấy bộ sưu tập hiện tại.
collection.delete(expr)

Nén Dữ Liệu

Milvus hỗ trợ nén dữ liệu tự động theo mặc định. Bạn có thể cấu hình Milvus để bật hoặc tắt nén và nén tự động.

Nếu nén tự động bị vô hiệu, bạn vẫn có thể nén dữ liệu bằng tay.

Nén Dữ Liệu Bằng Tay

Do quá trình nén thường mất nhiều thời gian, yêu cầu nén dữ liệu được xử lý bất đồng bộ.

from pymilvus import Collection
collection = Collection("book")      # Lấy bộ sưu tập hiện tại.
collection.compact()

Kiểm Tra Trạng Thái Nén

Bạn có thể sử dụng ID nén được trả về khi kích hoạt nén bằng tay để kiểm tra trạng thái nén.

collection.get_compaction_state()