在我正在运行的进程中,我需要非常低的延迟才能处理作业,因此我使用了一个qdrant db的本地示例,以便能够非常快速地将所有内容插入其中。完成作业后,我想将整个集合从本地示例复制到Qdrant的云示例。我只是想知道,除了简单地滚动整个集合并将其插入到另一个示例之外,是否还有更好的方法来做到这一点。
bvpmtnay1#
由于在本地(内存中或持久化)和Qdrant的服务器示例之间没有任何其他联系点,因此滚动本地集合以上传点应该是适当的操作过程。
6vl6ewon2#
我可以用client.migrate方法解决这个问题,如下所示:
client.migrate
cloud_client = QdrantClient( url = qdrant_url, api_key = key) cloud_client.recreate_collection( collection_name=collection_name, vectors_config=VectorParams(size=2048, distance=Distance.COSINE,on_disk = True) ) local_client = QdrantClient("localhost",port=6333) local_client.migrate(cloud_client,[collection_name],batch_size = 100,recreate_on_collision=True)
字符串对于较大的批次,它失败了。此外,查看代码,它似乎只是实现了在每个项目上滚动,正如@Anush建议的那样:https://github.com/qdrant/qdrant-client/blob/6d019e67a133bea87a96bce388f5b901cdae1287/qdrant_client/migrate/migrate.py#L104
2条答案
按热度按时间bvpmtnay1#
由于在本地(内存中或持久化)和Qdrant的服务器示例之间没有任何其他联系点,因此滚动本地集合以上传点应该是适当的操作过程。
6vl6ewon2#
我可以用
client.migrate
方法解决这个问题,如下所示:字符串
对于较大的批次,它失败了。此外,查看代码,它似乎只是实现了在每个项目上滚动,正如@Anush建议的那样:
https://github.com/qdrant/qdrant-client/blob/6d019e67a133bea87a96bce388f5b901cdae1287/qdrant_client/migrate/migrate.py#L104