This method conducts a vector similarity search.
search(data, anns_field, param, limit, expr=None, partition_names=None, output_fields=None, timeout=None, round_decimal=-1, **kwargs)
Parameter | Description | Type | Required |
---|---|---|---|
data | Data to search with | list[list[Float]] | True |
anns_field | Name of the vector field to search on | String | True |
param | Specific search parameter(s) of the index on the vector field | Dict | True |
limit | Number of nearest records to return | Integer | True |
expr | Boolean expression to filter the data | String | False |
partition_names | List of names of the partitions to search on. All partition will be searched if it is left empty. | list[String] | False |
output_fields | List of names of fields to output | list[String] | False |
timeout | An optional duration of time in seconds to allow for the RPC. If it is set to None, the client keeps waiting until the server responds or error occurs. | Float | False |
round_decimal | Number of the decimal places of the returned distance | Integer | False |
kwargs
|
|
| False |
A SearchResult object, an iterable, 2d-array-like class whose first dimension is the number of vectors to query (nq
), and the second dimension is the number of limit (topk
).
RpcError
: error if gRPC encounter an error.ParamError
: error if the parameters are invalid.DataTypeNotMatchException
: error if wrong type of data is passed to server.BaseException
: error if the return result from server is not ok.search_params = {"metric_type": "L2", "params": {"nprobe": 10}}
from pymilvus import Collection
collection = Collection("book") # Get an existing collection.
results = collection.search(
data=[[0.1, 0.2]],
anns_field="book_intro",
param=search_params,
limit=10,
expr=None,
consistency_level="Strong"
)
results[0].ids
results[0].distances