123456789101112131415161718192021222324252627282930313233343536 |
- import asyncio
- from typing import Dict, List
- import pymilvus
- async def async_insert_chunk(collection: pymilvus.Collection, data: Dict) -> List[int]:
- """
- :param collection:
- :param data: insert data
- :return:
- """
- result = await asyncio.to_thread(collection.insert, [data])
- return result.primary_keys
- async def async_delete_chunk(
- collection: pymilvus.Collection, ids: List[int]
- ) -> List[int]:
- """
- Delete entities by ids from a Milvus collection asynchronously.
- :param collection: Milvus Collection object
- :param ids: List of primary key ids to delete
- :return: List of successfully deleted ids
- """
- if not ids:
- return []
- expr = f"id in {ids}"
- result = await asyncio.to_thread(collection.delete, expr)
- await asyncio.to_thread(collection.flush)
- success_count = result.succ_count
- if success_count == len(ids):
- return ids
- else:
- return ids[:success_count]
|