Creación de particiones

Este tema describe cómo crear particiones en Milvus.

Milvus permite dividir la mayoría de los datos vectoriales en un pequeño número de particiones. Esto permite restringir la búsqueda y otras operaciones a una sola partición, mejorando el rendimiento.

Una colección consta de una o más particiones. Al crear una nueva colección, Milvus creará una partición predeterminada, _default. Para obtener más información, consulte el Glosario - Partición.

El siguiente ejemplo crea una partición llamada novel en la colección book.

err := milvusClient.CreatePartition(
  context.Background(),   // ctx
  "book",                 // CollectionName
  "novel"                 // partitionName
)
if err != nil {
  log.Fatal("Error al crear la partición: ", err.Error())
}
Parámetro Descripción
ctx Contexto para controlar el proceso de llamada a la API.
CollectionName Nombre de la colección en la que se creará la partición.
partitionName Nombre de la partición que se va a crear.

Límites

Función Límite Máximo
Número de particiones en una sola colección 4,096

Verificación de la existencia de una partición

Verifique si una partición especificada existe en una colección.

hasPar, err := milvusClient.HasPartition(
   context.Background(),   // ctx
   "book",                 // CollectionName
   "novel",                // partitionName
)
if err != nil {
   log.Fatal("Error al verificar la partición: ", err.Error())
}
log.Println(hasPar)

Listado de todas las particiones

listPar, err := milvusClient.ShowPartitions(
  context.Background(),   // ctx
  "book",                 // CollectionName
)
if err != nil {
  log.Fatal("Error al listar las particiones: ", err.Error())
}
log.Println(listPar)

Eliminación de una partición

err := milvusClient.DropPartition(
  context.Background(),   // ctx
  "book",                 // CollectionName
  "novel",                // partitionName
)
if err != nil {
  log.Fatal("Error al eliminar la partición: ", err.Error())
}

Carga de una partición

Milvus permite cargar particiones como réplicas múltiples para aprovechar los recursos de CPU y memoria de nodos de consulta adicionales, mejorando el QPS general y el rendimiento.

err := milvusClient.LoadPartitions(
  context.Background(),   // ctx
  "book",                 // CollectionName
  []string{"novel"},      // partitionNames
  false                   // asíncrono
)
if err != nil {
  log.Fatal("Error al cargar las particiones: ", err.Error())
}

Liberación de una partición

err := milvusClient.ReleasePartitions(
  context.Background(),   // ctx
  "book",                 // CollectionName
  []string{"novel"}       // partitionNames
)
if err != nil {
  log.Fatal("Error al liberar las particiones: ", err.Error())
}