Class InsertParam.Builder

java.lang.Object
io.milvus.param.dml.InsertParam.Builder
Direct Known Subclasses:
UpsertParam.Builder
Enclosing class:
InsertParam

public static class InsertParam.Builder extends Object
Builder for InsertParam class.
  • Field Details

    • databaseName

      protected String databaseName
    • collectionName

      protected String collectionName
    • partitionName

      protected String partitionName
    • fields

      protected List<InsertParam.Field> fields
    • rows

      protected List<com.google.gson.JsonObject> rows
    • rowCount

      protected int rowCount
  • Constructor Details

    • Builder

      protected Builder()
  • Method Details

    • withDatabaseName

      public InsertParam.Builder withDatabaseName(String databaseName)
      Sets the database name. database name can be nil.
      Parameters:
      databaseName - database name
      Returns:
      Builder
    • withCollectionName

      public InsertParam.Builder withCollectionName(@NonNull @NonNull String collectionName)
      Sets the collection name. Collection name cannot be empty or null.
      Parameters:
      collectionName - collection name
      Returns:
      Builder
    • withPartitionName

      public InsertParam.Builder withPartitionName(@NonNull @NonNull String partitionName)
      Set partition name (Optional). This partition name will be ignored if the collection has a partition key field.
      Parameters:
      partitionName - partition name
      Returns:
      Builder
    • withFields

      public InsertParam.Builder withFields(@NonNull @NonNull List<InsertParam.Field> fields)
      Sets the column data to insert. The field list cannot be empty.
      Parameters:
      fields - insert column data
      Returns:
      Builder
      See Also:
    • withRows

      public InsertParam.Builder withRows(@NonNull @NonNull List<com.google.gson.JsonObject> rows)
      Sets the row data to insert. The rows list cannot be empty. Internal class for insert data. If dataType is Bool/Int8/Int16/Int32/Int64/Float/Double/Varchar, use JsonObject.addProperty(key, value) to input; If dataType is FloatVector, use JsonObject.add(key, gson.toJsonTree(List[Float]) to input; If dataType is BinaryVector/Float16Vector/BFloat16Vector, use JsonObject.add(key, gson.toJsonTree(byte[])) to input; If dataType is SparseFloatVector, use JsonObject.add(key, gson.toJsonTree(SortedMap[Long, Float])) to input; If dataType is Array, use JsonObject.add(key, gson.toJsonTree(List of Boolean/Integer/Short/Long/Float/Double/String)) to input; If dataType is JSON, use JsonObject.add(key, JsonElement) to input; Note: 1. For scalar numeric values, value will be cut according to the type of the field. For example: An Int8 field named "XX", you set the value to be 128 by JsonObject.add("XX", 128), the value 128 is cut to -128. An Int64 field named "XX", you set the value to be 3.9 by JsonObject.add("XX", 3.9), the value 3.9 is cut to 3. 2. String value can be parsed to numeric/boolean type if the value is valid. For example: A Bool field named "XX", you set the value to be "TRUE" by JsonObject.add("XX", "TRUE"), the string "TRUE" is parsed as true. A Float field named "XX", you set the value to be "3.5" by JsonObject.add("XX", "3.5", the string "3.5" is parsed as 3.5.
      Parameters:
      rows - insert row data
      Returns:
      Builder
      See Also:
      • JsonObject
    • build

      public InsertParam build() throws ParamException
      Verifies parameters and creates a new InsertParam instance.
      Returns:
      InsertParam
      Throws:
      ParamException
    • checkFields

      protected void checkFields(int count)
    • checkRows

      protected void checkRows()