io.milvus.param.dml

## Class SearchParam.Builder

- java.lang.Object
- - io.milvus.param.dml.SearchParam.Builder

- Enclosing class:
    SearchParam

      public static class SearchParam.Builder
      extends java.lang.Object

  Builder for `SearchParam` class.

- - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `SearchParam.Builder` | `addOutField(@NonNull java.lang.String fieldName)` Specifies an output field (Optional).
    `SearchParam.Builder` | `addPartitionName(@NonNull java.lang.String partitionName)` Adds a partition to specify search scope (Optional).
    `SearchParam` | `build()` Verifies parameters and creates a new `SearchParam` instance.
    `SearchParam.Builder` | `withBFloat16Vectors(@NonNull java.util.List<java.nio.ByteBuffer> vectors)` Sets the target vectors to search on BFloat16Vector field.
    `SearchParam.Builder` | `withBinaryVectors(@NonNull java.util.List<java.nio.ByteBuffer> vectors)` Sets the target vectors to search on BinaryVector field.
    `SearchParam.Builder` | `withCollectionName(@NonNull java.lang.String collectionName)` Sets the collection name.
    `SearchParam.Builder` | `withConsistencyLevel(ConsistencyLevelEnum consistencyLevel)` ConsistencyLevel of consistency level.
    `SearchParam.Builder` | `withDatabaseName(java.lang.String databaseName)` Sets the database name.
    `SearchParam.Builder` | `withExpr(@NonNull java.lang.String expr)` Sets expression to filter out entities before searching (Optional).
    `SearchParam.Builder` | `withFloat16Vectors(@NonNull java.util.List<java.nio.ByteBuffer> vectors)` Sets the target vectors to search on Float16Vector field.
    `SearchParam.Builder` | `withFloatVectors(@NonNull java.util.List<java.util.List<java.lang.Float>> vectors)` Sets the target vectors to search on FloatVector field.
    `SearchParam.Builder` | `withGroupByFieldName(@NonNull java.lang.String groupByFieldName)` Sets field name to do grouping.
    `SearchParam.Builder` | `withIgnoreGrowing(@NonNull java.lang.Boolean ignoreGrowing)` Ignore the growing segments to get best search performance.
    `SearchParam.Builder` | `withMetricType(@NonNull MetricType metricType)` Sets metric type of ANN searching.
    `SearchParam.Builder` | `withOutFields(@NonNull java.util.List<java.lang.String> outFields)` Specifies output fields (Optional).
    `SearchParam.Builder` | `withParams(@NonNull java.lang.String params)` Sets the search parameters specific to the index type.
    `SearchParam.Builder` | `withPartitionNames(@NonNull java.util.List<java.lang.String> partitionNames)` Sets partition names list to specify search scope (Optional).
    `SearchParam.Builder` | `withRoundDecimal(@NonNull java.lang.Integer decimal)` Specifies the decimal place of the returned results.
    `SearchParam.Builder` | `withSparseFloatVectors(@NonNull java.util.List<java.util.SortedMap<java.lang.Long,java.lang.Float>> vectors)` Sets the target vectors to search on SparseFloatVector field.
    `SearchParam.Builder` | `withTopK(@NonNull java.lang.Integer topK)` Sets topK value of ANN search.
    `SearchParam.Builder` | `withVectorFieldName(@NonNull java.lang.String vectorFieldName)` Sets target vector field by name.
    `SearchParam.Builder` | `withVectors(@NonNull java.util.List<?> vectors)` Deprecated.

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### withDatabaseName

          public SearchParam.Builder withDatabaseName(java.lang.String databaseName)

      Sets the database name. database name can be nil.
      Parameters:
        `databaseName` - database name
      Returns:
        `Builder`

    - #### withCollectionName

          public SearchParam.Builder withCollectionName(@NonNull
                                                        @NonNull java.lang.String collectionName)

      Sets the collection name. Collection name cannot be empty or null.
      Parameters:
        `collectionName` - collection name
      Returns:
        `Builder`

    - #### withPartitionNames

          public SearchParam.Builder withPartitionNames(@NonNull
                                                        @NonNull java.util.List<java.lang.String> partitionNames)

      Sets partition names list to specify search scope (Optional).
      Parameters:
        `partitionNames` - partition names list
      Returns:
        `Builder`

    - #### withConsistencyLevel

          public SearchParam.Builder withConsistencyLevel(ConsistencyLevelEnum consistencyLevel)

      ConsistencyLevel of consistency level.
      Parameters:
        `consistencyLevel` - consistency level
      Returns:
        `Builder`

    - #### addPartitionName

          public SearchParam.Builder addPartitionName(@NonNull
                                                      @NonNull java.lang.String partitionName)

      Adds a partition to specify search scope (Optional).
      Parameters:
        `partitionName` - partition name
      Returns:
        `Builder`

    - #### withMetricType

          public SearchParam.Builder withMetricType(@NonNull
                                                    @NonNull MetricType metricType)

      Sets metric type of ANN searching.
      Parameters:
        `metricType` - metric type
      Returns:
        `Builder`

    - #### withVectorFieldName

          public SearchParam.Builder withVectorFieldName(@NonNull
                                                         @NonNull java.lang.String vectorFieldName)

      Sets target vector field by name. Field name cannot be empty or null.
      Parameters:
        `vectorFieldName` - vector field name
      Returns:
        `Builder`

    - #### withTopK

          public SearchParam.Builder withTopK(@NonNull
                                              @NonNull java.lang.Integer topK)

      Sets topK value of ANN search.
      Parameters:
        `topK` - topK value
      Returns:
        `Builder`

    - #### withExpr

          public SearchParam.Builder withExpr(@NonNull
                                              @NonNull java.lang.String expr)

      Sets expression to filter out entities before searching (Optional).
      Parameters:
        `expr` - filtering expression
      Returns:
        `Builder`
      See Also:
        Boolean Expression Rules

    - #### withOutFields

          public SearchParam.Builder withOutFields(@NonNull
                                                   @NonNull java.util.List<java.lang.String> outFields)

      Specifies output fields (Optional).
      Parameters:
        `outFields` - output fields
      Returns:
        `Builder`

    - #### addOutField

          public SearchParam.Builder addOutField(@NonNull
                                                 @NonNull java.lang.String fieldName)

      Specifies an output field (Optional).
      Parameters:
        `fieldName` - filed name
      Returns:
        `Builder`

    - #### withVectors

          @Deprecated
          public SearchParam.Builder withVectors(@NonNull
                                                             @NonNull java.util.List<?> vectors)

      Deprecated.
      Sets the target vectors. Note: Deprecated in v2.4.0, for the reason that the sdk cannot know a ByteBuffer is a BinarVector or Float16Vector/BFloat16Vector. Replaced by withFloatVectors/withBinaryVectors/withFloat16Vectors/withBFloat16Vectors/withSparseFloatVectors. It still works for FloatVector/BinarVector/SparseVector, don't use it for Float16Vector/BFloat16Vector.
      Parameters:
        `vectors` - list of target vectors: if vector type is FloatVector, vectors is List of List Float; if vector type is BinaryVector, vectors is List of ByteBuffer; if vector type is SparseFloatVector, values is List of SortedMap[Long, Float];
      Returns:
        `Builder`

    - #### withFloatVectors

          public SearchParam.Builder withFloatVectors(@NonNull
                                                      @NonNull java.util.List<java.util.List<java.lang.Float>> vectors)

      Sets the target vectors to search on FloatVector field.
      Parameters:
        `vectors` - target vectors to search
      Returns:
        `Builder`

    - #### withBinaryVectors

          public SearchParam.Builder withBinaryVectors(@NonNull
                                                       @NonNull java.util.List<java.nio.ByteBuffer> vectors)

      Sets the target vectors to search on BinaryVector field.
      Parameters:
        `vectors` - target vectors to search
      Returns:
        `Builder`

    - #### withFloat16Vectors

          public SearchParam.Builder withFloat16Vectors(@NonNull
                                                        @NonNull java.util.List<java.nio.ByteBuffer> vectors)

      Sets the target vectors to search on Float16Vector field.
      Parameters:
        `vectors` - target vectors to search
      Returns:
        `Builder`

    - #### withBFloat16Vectors

          public SearchParam.Builder withBFloat16Vectors(@NonNull
                                                         @NonNull java.util.List<java.nio.ByteBuffer> vectors)

      Sets the target vectors to search on BFloat16Vector field.
      Parameters:
        `vectors` - target vectors to search
      Returns:
        `Builder`

    - #### withSparseFloatVectors

          public SearchParam.Builder withSparseFloatVectors(@NonNull
                                                            @NonNull java.util.List<java.util.SortedMap<java.lang.Long,java.lang.Float>> vectors)

      Sets the target vectors to search on SparseFloatVector field.
      Parameters:
        `vectors` - target vectors to search
      Returns:
        `Builder`

    - #### withRoundDecimal

          public SearchParam.Builder withRoundDecimal(@NonNull
                                                      @NonNull java.lang.Integer decimal)

      Specifies the decimal place of the returned results.
      Parameters:
        `decimal` - how many digits after the decimal point
      Returns:
        `Builder`

    - #### withParams

          public SearchParam.Builder withParams(@NonNull
                                                @NonNull java.lang.String params)

      Sets the search parameters specific to the index type. For example: IVF index, the search parameters can be "{\"nprobe\":10}" For more information: @see Index Selection
      Parameters:
        `params` - extra parameters in json format
      Returns:
        `Builder`

    - #### withIgnoreGrowing

          public SearchParam.Builder withIgnoreGrowing(@NonNull
                                                       @NonNull java.lang.Boolean ignoreGrowing)

      Ignore the growing segments to get best search performance. Default is False. For the user case that don't require data visibility.
      Parameters:
        `ignoreGrowing` - `Boolean.TRUE` ignore, Boolean.FALSE is not
      Returns:
        `Builder`

    - #### withGroupByFieldName

          public SearchParam.Builder withGroupByFieldName(@NonNull
                                                          @NonNull java.lang.String groupByFieldName)

      Sets field name to do grouping.
      Parameters:
        `groupByFieldName` - field name to do grouping
      Returns:
        `Builder`

    - #### build

          public SearchParam build()
                            throws ParamException

      Verifies parameters and creates a new `SearchParam` instance.
      Returns:
        `SearchParam`
      Throws:
        `ParamException`