Class SearchParam.Builder

java.lang.Object
io.milvus.param.dml.SearchParam.Builder
Enclosing class:
SearchParam

public static class SearchParam.Builder extends Object
Builder for SearchParam class.
  • Method Details

    • withDatabaseName

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

      public SearchParam.Builder withCollectionName(@NonNull @NonNull 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 List<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 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 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 Integer topK)
      Sets topK value of ANN search.
      Parameters:
      topK - topK value
      Returns:
      Builder
    • withExpr

      public SearchParam.Builder withExpr(@NonNull @NonNull String expr)
      Sets expression to filter out entities before searching (Optional).
      Parameters:
      expr - filtering expression
      Returns:
      Builder
      See Also:
    • withOutFields

      public SearchParam.Builder withOutFields(@NonNull @NonNull List<String> outFields)
      Specifies output fields (Optional).
      Parameters:
      outFields - output fields
      Returns:
      Builder
    • addOutField

      public SearchParam.Builder addOutField(@NonNull @NonNull String fieldName)
      Specifies an output field (Optional).
      Parameters:
      fieldName - filed name
      Returns:
      Builder
    • withVectors

      @Deprecated public SearchParam.Builder withVectors(@NonNull @NonNull 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 List<List<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 List<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 List<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 List<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 List<SortedMap<Long,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 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 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 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 String groupByFieldName)
      Sets field name to do grouping.
      Parameters:
      groupByFieldName - field name to do grouping
      Returns:
      Builder
    • withIterator

      public SearchParam.Builder withIterator(@NonNull @NonNull Boolean iterator)
      Optimizing specifically for iterators can yield correct data results. Default is False.
      Parameters:
      iterator - Boolean.TRUE ignore, Boolean.FALSE is not
      Returns:
      Builder
    • build

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