Interface MilvusClient

    • Method Detail

      • withTimeout

        MilvusClient withTimeout​(long timeout,
                                 TimeUnit timeoutUnit)
        Timeout setting for rpc call.
        Parameters:
        timeout - set time waiting for a rpc call.
        timeoutUnit - time unit
      • withRetry

        @Deprecated
        MilvusClient withRetry​(int retryTimes)
        Deprecated.
        Number of retry attempts.
        Parameters:
        retryTimes - number of retry attempts.
      • withRetryInterval

        @Deprecated
        MilvusClient withRetryInterval​(long interval,
                                       TimeUnit timeUnit)
        Deprecated.
        Time interval between retry attempts. Default value is 500ms.
        Parameters:
        interval - time interval between retry attempts.
        timeUnit - time unit
      • setLogLevel

        void setLogLevel​(LogLevel level)
        Set log level in runtime.
        Parameters:
        level - LogLevel
      • close

        default void close()
        Disconnects from a Milvus server with timeout of 1 minute
      • close

        void close​(long maxWaitSeconds)
            throws InterruptedException
        Disconnects from a Milvus server with configurable timeout.
        Parameters:
        maxWaitSeconds - timeout unit: second
        Throws:
        InterruptedException
      • hasCollection

        R<Boolean> hasCollection​(HasCollectionParam requestParam)
        Checks if a collection exists.
        Parameters:
        requestParam - HasCollectionParam
        Returns:
        {status:result code, data: boolean, whether if has collection or not}
      • dropDatabase

        R<RpcStatus> dropDatabase​(DropDatabaseParam requestParam)
        Drops a database. Note that this method drops all data in the database.
        Parameters:
        requestParam - DropDatabaseParam
        Returns:
        {status:result code, data:RpcStatus{msg: result message}}
      • listDatabases

        R<ListDatabasesResponse> listDatabases()
        List databases. Note that this method list all database in the cluster.
        Returns:
        {status:result code, data:RpcStatus{msg: result message}}
      • dropCollection

        R<RpcStatus> dropCollection​(DropCollectionParam requestParam)
        Drops a collection. Note that this method drops all data in the collection.
        Parameters:
        requestParam - DropCollectionParam
        Returns:
        {status:result code, data:RpcStatus{msg: result message}}
      • loadCollection

        R<RpcStatus> loadCollection​(LoadCollectionParam requestParam)
        Loads a collection to memory before search or query.
        Parameters:
        requestParam - LoadCollectionParam
        Returns:
        {status:result code, data:RpcStatus{msg: result message}}
      • releaseCollection

        R<RpcStatus> releaseCollection​(ReleaseCollectionParam requestParam)
        Releases a collection from memory to reduce memory usage. Note that you cannot search while the corresponding collection is released from memory.
        Parameters:
        requestParam - ReleaseCollectionParam
        Returns:
        {status:result code, data:RpcStatus{msg: result message}}
      • showCollections

        R<ShowCollectionsResponse> showCollections​(ShowCollectionsParam requestParam)
        Lists all collections or gets collection loading status.
        Parameters:
        requestParam - ShowCollectionsParam
        Returns:
        {status:result code, data: ShowCollectionsResponse{status,collection_names,collection_ids,created_timestamps,created_utc_timestamps}}
      • flush

        R<FlushResponse> flush​(FlushParam requestParam)
        Flushes inserted data in buffer into storage.
        Parameters:
        requestParam - FlushParam
        Returns:
        {status:result code,data: FlushResponse{flush segment ids}}
      • flushAll

        R<FlushAllResponse> flushAll​(boolean syncFlushAll,
                                     long syncFlushAllWaitingInterval,
                                     long syncFlushAllTimeout)
        Flush all collections. All insertions, deletions, and upserts before `flushAll` will be synced.
        Parameters:
        syncFlushAll - {flushAll synchronously or asynchronously}
        syncFlushAllWaitingInterval - {wait intervel when flushAll synchronously}
        syncFlushAllTimeout - {timeout when flushAll synchronously}
        Returns:
        {status:result code,data: FlushAllResponse{flushAllTs}}
      • createPartition

        R<RpcStatus> createPartition​(CreatePartitionParam requestParam)
        Creates a partition in the specified collection.
        Parameters:
        requestParam - CreatePartitionParam
        Returns:
        {status:result code, data:RpcStatus{msg: result message}}
      • dropPartition

        R<RpcStatus> dropPartition​(DropPartitionParam requestParam)
        Drops a partition. Note that this method drops all data in this partition and the _default partition cannot be dropped.
        Parameters:
        requestParam - DropPartitionParam
        Returns:
        {status:result code, data:RpcStatus{msg: result message}}
      • hasPartition

        R<Boolean> hasPartition​(HasPartitionParam requestParam)
        Checks if a partition exists in the specified collection.
        Parameters:
        requestParam - HasPartitionParam
        Returns:
        {status:result code, data: boolean, whether if has collection or not}
      • showPartitions

        R<ShowPartitionsResponse> showPartitions​(ShowPartitionsParam requestParam)
        Shows all partitions in the specified collection.
        Parameters:
        requestParam - ShowPartitionsParam
        Returns:
        {status:result code, data:ShowPartitionsResponse{partition_names,partitionIDs,created_timestamps,created_utc_timestamps}}
      • createAlias

        R<RpcStatus> createAlias​(CreateAliasParam requestParam)
        Creates an alias for a collection. Alias can be used in search or query to replace the collection name
        Parameters:
        requestParam - CreateAliasParam
        Returns:
        {status:result code, data:RpcStatus{msg: result message}}
      • dropAlias

        R<RpcStatus> dropAlias​(DropAliasParam requestParam)
        Drops an alias for the specified collection.
        Parameters:
        requestParam - DropAliasParam
        Returns:
        {status:result code, data:RpcStatus{msg: result message}}
      • alterAlias

        R<RpcStatus> alterAlias​(AlterAliasParam requestParam)
        Alters alias from a collection to another.
        Parameters:
        requestParam - AlterAliasParam
        Returns:
        {status:result code, data:RpcStatus{msg: result message}}
      • createIndex

        R<RpcStatus> createIndex​(CreateIndexParam requestParam)
        Creates an index on a vector field in the specified collection. Note that index building is an async progress.
        Parameters:
        requestParam - CreateIndexParam
        Returns:
        {status:result code, data:RpcStatus{msg: result message}}
      • dropIndex

        R<RpcStatus> dropIndex​(DropIndexParam requestParam)
        Drops the index on a vector field in the specified collection.
        Parameters:
        requestParam - DropIndexParam
        Returns:
        {status:result code, data:RpcStatus{msg: result message}}
      • describeIndex

        R<DescribeIndexResponse> describeIndex​(DescribeIndexParam requestParam)
        Shows the information of the specified index. Current release of Milvus only supports showing latest built index.
        Parameters:
        requestParam - DescribeIndexParam
        Returns:
        {status:result code, data:DescribeIndexResponse{status,index_descriptions}}
      • getIndexState

        R<GetIndexStateResponse> getIndexState​(GetIndexStateParam requestParam)
        Shows the index building state(in-progress/finished/failed), and the reason for failure (if any).
        Parameters:
        requestParam - GetIndexStateParam
        Returns:
        {status:result code, data:GetIndexStateResponse{status,state}}
      • alterIndex

        R<RpcStatus> alterIndex​(AlterIndexParam requestParam)
        Alter index with key value properties.
        Parameters:
        requestParam - AlterIndexParam
        Returns:
        {status:result code, data:RpcStatus{msg: result message}}
      • insert

        R<MutationResult> insert​(InsertParam requestParam)
        Inserts entities into a specified collection . Note that you don't need to input primary key field if auto_id is enabled.
        Parameters:
        requestParam - InsertParam
        Returns:
        {status:result code, data: MutationResult{insert results}}
      • insertAsync

        com.google.common.util.concurrent.ListenableFuture<R<MutationResult>> insertAsync​(InsertParam requestParam)
        Inserts entities into a specified collection asynchronously. Note that you don't need to input primary key field if auto_id is enabled.
        Parameters:
        requestParam - InsertParam
        Returns:
        a ListenableFuture object which holds the object {status:result code, data: MutationResult{insert results}}
      • upsert

        R<MutationResult> upsert​(UpsertParam requestParam)
        Insert new entities into a specified collection, replace them if the entities already exist.
        Parameters:
        requestParam - UpsertParam
        Returns:
        {status:result code, data: MutationResult{insert results}}
      • upsertAsync

        com.google.common.util.concurrent.ListenableFuture<R<MutationResult>> upsertAsync​(UpsertParam requestParam)
        Insert new entities into a specified collection asynchronously, replace them if the entities already exist.
        Parameters:
        requestParam - UpsertParam
        Returns:
        a ListenableFuture object which holds the object {status:result code, data: MutationResult{insert results}}
      • delete

        R<MutationResult> delete​(DeleteParam requestParam)
        Deletes entity(s) based on primary key(s) filtered by boolean expression. Current release of Milvus only supports expression in the format "pk_field in [1, 2, ...]"
        Parameters:
        requestParam - DeleteParam
        Returns:
        {status:result code, data: MutationResult{delete results}}
      • search

        R<SearchResults> search​(SearchParam requestParam)
        Conducts ANN search on a vector field. Use expression to do filtering before search.
        Parameters:
        requestParam - SearchParam
        Returns:
        {status:result code, data: SearchResults{topK results}}
      • searchAsync

        com.google.common.util.concurrent.ListenableFuture<R<SearchResults>> searchAsync​(SearchParam requestParam)
        Conducts ANN search on a vector field asynchronously. Use expression to do filtering before search.
        Parameters:
        requestParam - SearchParam
        Returns:
        a ListenableFuture object which holds the object {status:result code, data: SearchResults{topK results}}
      • hybridSearch

        R<SearchResults> hybridSearch​(HybridSearchParam requestParam)
        Conducts multi vector similarity search with a ranker for rearrangement.
        Parameters:
        requestParam - HybridSearchParam
        Returns:
        {status:result code, data: SearchResults{topK results}}
      • hybridSearchAsync

        com.google.common.util.concurrent.ListenableFuture<R<SearchResults>> hybridSearchAsync​(HybridSearchParam requestParam)
        Conducts multi vector similarity search asynchronously with a ranker for rearrangement.
        Parameters:
        requestParam - HybridSearchParam
        Returns:
        a ListenableFuture object which holds the object {status:result code, data: SearchResults{topK results}}
      • query

        R<QueryResults> query​(QueryParam requestParam)
        Queries entity(s) based on scalar field(s) filtered by boolean expression. Note that the order of the returned entities cannot be guaranteed.
        Parameters:
        requestParam - QueryParam
        Returns:
        {status:result code,data: QueryResults{filter results}}
      • queryAsync

        com.google.common.util.concurrent.ListenableFuture<R<QueryResults>> queryAsync​(QueryParam requestParam)
        Queries entity(s) asynchronously based on scalar field(s) filtered by boolean expression. Note that the order of the returned entities cannot be guaranteed.
        Parameters:
        requestParam - QueryParam
        Returns:
        {status:result code,data: QueryResults{filter results}}
      • getMetrics

        R<GetMetricsResponse> getMetrics​(GetMetricsParam requestParam)
        Gets the runtime metrics information of Milvus, returns the result in .json format.
        Parameters:
        requestParam - GetMetricsParam
        Returns:
        {status:result code, data:GetMetricsResponse{status,metrics}}
      • loadBalance

        R<RpcStatus> loadBalance​(LoadBalanceParam requestParam)
        Moves segment from a query node to another to keep the load balanced.
        Parameters:
        requestParam - LoadBalanceParam
        Returns:
        {status:result code, data:RpcStatus{msg: result message}}
      • updateCredential

        R<RpcStatus> updateCredential​(UpdateCredentialParam requestParam)
        Update credential using the given user and password. You must provide the original password to check if the operation is valid. Note: after this operation, client won't change the related header of this connection. So if you update credential for this connection, the connection may be invalid.
        Parameters:
        requestParam - UpdateCredentialParam
        Returns:
        {status:result code, data:RpcStatus{msg: result message}}
      • createRole

        R<RpcStatus> createRole​(CreateRoleParam requestParam)
        It will success if the role isn't existed, otherwise fail.
        Parameters:
        requestParam - CreateRoleParam
        Returns:
        {status:result code, data:RpcStatus{msg: result message}}
      • dropRole

        R<RpcStatus> dropRole​(DropRoleParam requestParam)
        It will success if the role is existed, otherwise fail.
        Parameters:
        requestParam - DropRoleParam
        Returns:
        {status:result code, data:RpcStatus{msg: result message}}
      • addUserToRole

        R<RpcStatus> addUserToRole​(AddUserToRoleParam requestParam)
        The user will get permissions that the role are allowed to perform operations.
        Parameters:
        requestParam - AddUserToRoleParam
        Returns:
        {status:result code, data:RpcStatus{msg: result message}}
      • removeUserFromRole

        R<RpcStatus> removeUserFromRole​(RemoveUserFromRoleParam requestParam)
        The user will remove permissions that the role are allowed to perform operations.
        Parameters:
        requestParam - AddUserToRoleParam
        Returns:
        {status:result code, data:RpcStatus{msg: result message}}
      • bulkInsert

        R<ImportResponse> bulkInsert​(BulkInsertParam requestParam)
        Import data from external files, currently support JSON format
        Parameters:
        requestParam - BulkInsertParam
        Returns:
        {status:result code, data:ImportResponse{status,info}}
      • checkHealth

        R<CheckHealthResponse> checkHealth()
        Check server health
        Returns:
        {status:result code, data:CheckHealthResponse{status,info}}
      • getVersion

        R<GetVersionResponse> getVersion()
        Get server version
        Returns:
        {status:result code, data:GetVersionResponse{status,info}}
      • transferNode

        R<RpcStatus> transferNode​(TransferNodeParam requestParam)
        Transfer a query node from source resource group to target resource_group.
        Parameters:
        requestParam - TransferNodeParam
        Returns:
        {status:result code, data:RpcStatus{msg: result message}}
      • transferReplica

        R<RpcStatus> transferReplica​(TransferReplicaParam requestParam)
        Transfer a replica from source resource group to target resource_group.
        Parameters:
        requestParam - TransferReplicaParam
        Returns:
        {status:result code, data:RpcStatus{msg: result message}}
      • insert

        R<InsertResponse> insert​(InsertRowsParam requestParam)
        Inserts rows data into a specified collection . Note that you don't need to input primary key field if auto_id is enabled.
        Parameters:
        requestParam - InsertRowsParam
        Returns:
        {status:result code, data: MutationResult{insert results}}
      • delete

        R<DeleteResponse> delete​(DeleteIdsParam requestParam)
        Deletes entity(s) based on the value of primary key.
        Parameters:
        requestParam - DeleteIdsParam
        Returns:
        {status:result code, data: MutationResult{delete results}}
      • get

        R<GetResponse> get​(GetIdsParam requestParam)
        Get entity(s) based on the value of primary key.
        Parameters:
        requestParam - GetIdsParam
        Returns:
        {status:result code, data: QueryResults{query results}}
      • query

        R<QueryResponse> query​(QuerySimpleParam requestParam)
        Queries entity(s) based on scalar field(s) filtered by boolean expression. Note that the order of the returned entities cannot be guaranteed.
        Parameters:
        requestParam - QuerySimpleParam
        Returns:
        {status:result code,data: QueryResults{filter results}}
      • search

        R<SearchResponse> search​(SearchSimpleParam requestParam)
        Conducts ANN search on a vector field. Use expression to do filtering before search.
        Parameters:
        requestParam - SearchSimpleParam
        Returns:
        {status:result code, data: SearchResults{topK results}}
      • queryIterator

        R<QueryIterator> queryIterator​(QueryIteratorParam requestParam)
        Get queryIterator based on scalar field(s) filtered by boolean expression. Note that the order of the returned entities cannot be guaranteed.
        Parameters:
        requestParam - QueryIteratorParam
        Returns:
        {status:result code,data: QueryIterator}
      • searchIterator

        R<SearchIterator> searchIterator​(SearchIteratorParam requestParam)
        Get searchIterator based on a vector field. Use expression to do filtering before search.
        Parameters:
        requestParam - SearchIteratorParam
        Returns:
        {status:result code, data: SearchIterator}