我正在尝试实现基于分区键的多租户,但我找不到任何可供我遵循的代码实现教程。
这是我到目前为止的代码。但是,我无法确定这是否是正确的执行方式以及使用 Milvus 进行搜索的下一步正确的步骤是什么?
schema = MilvusClient.create_schema(auto_id=True, enable_dynamic_field=True, primary_field="id")
schema.add_field(field_name="id", datatype=DataType.INT64, is_primary=True)
schema.add_field(field_name="source", datatype=DataType.VARCHAR, max_length=50000)
schema.add_field(field_name="embeddings", datatype=DataType.FLOAT_VECTOR, dim=self.truncate_dim)
schema.add_field(field_name="tenant", datatype=DataType.VARCHAR, is_partition_key=True) # i set the is_partition_key to True
index_params = MilvusClient.prepare_index_params()
index_params.add_index(field_name="id", index_type="STL_SORT")
index_params.add_index(
field_name="embeddings",
index_type="IVF_FLAT",
metric_type="L2",
params={"nlist": 1024},
)
self.milvusClient.create_collection(
collection_name=self.collection_name,
schema=schema,
index_params=index_params,
partition_key_field="tenant" # added a partition_key_field inside here
)
我正在努力。 但这里有一些文档:
https://milvus.io/docs/use-partition-key.md https://milvus.io/docs/multi_tenancy.md
partition_key_field="color",
num_partitions=16 # Number of partitions. Defaults to 16.
分区与分区键 https://github.com/milvus-io/milvus/discussions/26320