使用 Milvus 实现基于分区键的多租户和搜索时遇到问题

问题描述 投票:0回答:1

我正在尝试实现基于分区键的多租户,但我找不到任何可供我遵循的代码实现教程。

这是我到目前为止的代码。但是,我无法确定这是否是正确的执行方式以及使用 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
)
search partition vector-database milvus
1个回答
0
投票

我正在努力。 但这里有一些文档:

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

© www.soinside.com 2019 - 2024. All rights reserved.