Class MilvusMultiServiceClient

  • All Implemented Interfaces:
    MilvusClient

    public class MilvusMultiServiceClient
    extends java.lang.Object
    implements MilvusClient
    • Constructor Detail

      • MilvusMultiServiceClient

        public MilvusMultiServiceClient​(@NonNull
                                        @NonNull MultiConnectParam multiConnectParam)
        Sets connect param for multi milvus clusters.
        Parameters:
        multiConnectParam - multi server connect param
    • Method Detail

      • withTimeout

        public MilvusClient withTimeout​(long timeout,
                                        java.util.concurrent.TimeUnit timeoutUnit)
        Description copied from interface: MilvusClient
        Timeout setting for rpc call.
        Specified by:
        withTimeout in interface MilvusClient
        Parameters:
        timeout - set time waiting for a rpc call.
        timeoutUnit - time unit
      • withRetry

        public MilvusClient withRetry​(int retryTimes)
        Description copied from interface: MilvusClient
        Number of retry attempts.
        Specified by:
        withRetry in interface MilvusClient
        Parameters:
        retryTimes - number of retry attempts.
      • withRetryInterval

        public MilvusClient withRetryInterval​(long interval,
                                              java.util.concurrent.TimeUnit timeUnit)
        Description copied from interface: MilvusClient
        Time interval between retry attempts. Default value is 500ms.
        Specified by:
        withRetryInterval in interface MilvusClient
        Parameters:
        interval - time interval between retry attempts.
        timeUnit - time unit
      • close

        public void close​(long maxWaitSeconds)
                   throws java.lang.InterruptedException
        Description copied from interface: MilvusClient
        Disconnects from a Milvus server with configurable timeout.
        Specified by:
        close in interface MilvusClient
        Parameters:
        maxWaitSeconds - timeout unit: second
        Throws:
        java.lang.InterruptedException
      • listDatabases

        public R<io.milvus.grpc.ListDatabasesResponse> listDatabases()
        Description copied from interface: MilvusClient
        List databases. Note that this method list all database in the cluster.
        Specified by:
        listDatabases in interface MilvusClient
        Returns:
        {status:result code, data:RpcStatus{msg: result message}}
      • showCollections

        public R<io.milvus.grpc.ShowCollectionsResponse> showCollections​(ShowCollectionsParam requestParam)
        Description copied from interface: MilvusClient
        Lists all collections or gets collection loading status.
        Specified by:
        showCollections in interface MilvusClient
        Parameters:
        requestParam - ShowCollectionsParam
        Returns:
        {status:result code, data: ShowCollectionsResponse{status,collection_names,collection_ids,created_timestamps,created_utc_timestamps}}
      • flush

        public R<io.milvus.grpc.FlushResponse> flush​(FlushParam requestParam)
        Description copied from interface: MilvusClient
        Flushes inserted data in buffer into storage.
        Specified by:
        flush in interface MilvusClient
        Parameters:
        requestParam - FlushParam
        Returns:
        {status:result code,data: FlushResponse{flush segment ids}}
      • flushAll

        public R<io.milvus.grpc.FlushAllResponse> flushAll​(boolean syncFlushAll,
                                                           long syncFlushAllWaitingInterval,
                                                           long syncFlushAllTimeout)
        Description copied from interface: MilvusClient
        Flush all collections. All insertions, deletions, and upserts before `flushAll` will be synced.
        Specified by:
        flushAll in interface MilvusClient
        Parameters:
        syncFlushAll - {flushAll synchronously or asynchronously}
        syncFlushAllWaitingInterval - {wait intervel when flushAll synchronously}
        syncFlushAllTimeout - {timeout when flushAll synchronously}
        Returns:
        {status:result code,data: FlushAllResponse{flushAllTs}}
      • dropPartition

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

        public R<java.lang.Boolean> hasPartition​(HasPartitionParam requestParam)
        Description copied from interface: MilvusClient
        Checks if a partition exists in the specified collection.
        Specified by:
        hasPartition in interface MilvusClient
        Parameters:
        requestParam - HasPartitionParam
        Returns:
        {status:result code, data: boolean, whether if has collection or not}
      • showPartitions

        public R<io.milvus.grpc.ShowPartitionsResponse> showPartitions​(ShowPartitionsParam requestParam)
        Description copied from interface: MilvusClient
        Shows all partitions in the specified collection.
        Specified by:
        showPartitions in interface MilvusClient
        Parameters:
        requestParam - ShowPartitionsParam
        Returns:
        {status:result code, data:ShowPartitionsResponse{partition_names,partitionIDs,created_timestamps,created_utc_timestamps}}
      • createAlias

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

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

        public R<io.milvus.grpc.DescribeIndexResponse> describeIndex​(DescribeIndexParam requestParam)
        Description copied from interface: MilvusClient
        Shows the information of the specified index. Current release of Milvus only supports showing latest built index.
        Specified by:
        describeIndex in interface MilvusClient
        Parameters:
        requestParam - DescribeIndexParam
        Returns:
        {status:result code, data:DescribeIndexResponse{status,index_descriptions}}
      • getIndexState

        public R<io.milvus.grpc.GetIndexStateResponse> getIndexState​(GetIndexStateParam requestParam)
        Description copied from interface: MilvusClient
        Shows the index building state(in-progress/finished/failed), and the reason for failure (if any).
        Specified by:
        getIndexState in interface MilvusClient
        Parameters:
        requestParam - GetIndexStateParam
        Returns:
        {status:result code, data:GetIndexStateResponse{status,state}}
      • insert

        public R<io.milvus.grpc.MutationResult> insert​(InsertParam requestParam)
        Description copied from interface: MilvusClient
        Inserts entities into a specified collection . Note that you don't need to input primary key field if auto_id is enabled.
        Specified by:
        insert in interface MilvusClient
        Parameters:
        requestParam - InsertParam
        Returns:
        {status:result code, data: MutationResult{insert results}}
      • insertAsync

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

        public R<io.milvus.grpc.MutationResult> upsert​(UpsertParam requestParam)
        Description copied from interface: MilvusClient
        Insert new entities into a specified collection, replace them if the entities already exist.
        Specified by:
        upsert in interface MilvusClient
        Parameters:
        requestParam - UpsertParam
        Returns:
        {status:result code, data: MutationResult{insert results}}
      • upsertAsync

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

        public R<io.milvus.grpc.MutationResult> delete​(DeleteParam requestParam)
        Description copied from interface: MilvusClient
        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, ...]"
        Specified by:
        delete in interface MilvusClient
        Parameters:
        requestParam - DeleteParam
        Returns:
        {status:result code, data: MutationResult{delete results}}
      • search

        public R<io.milvus.grpc.SearchResults> search​(SearchParam requestParam)
        Description copied from interface: MilvusClient
        Conducts ANN search on a vector field. Use expression to do filtering before search.
        Specified by:
        search in interface MilvusClient
        Parameters:
        requestParam - SearchParam
        Returns:
        {status:result code, data: SearchResults{topK results}}
      • searchAsync

        public com.google.common.util.concurrent.ListenableFuture<R<io.milvus.grpc.SearchResults>> searchAsync​(SearchParam requestParam)
        Description copied from interface: MilvusClient
        Conducts ANN search on a vector field asynchronously. Use expression to do filtering before search.
        Specified by:
        searchAsync in interface MilvusClient
        Parameters:
        requestParam - SearchParam
        Returns:
        a ListenableFuture object which holds the object {status:result code, data: SearchResults{topK results}}
      • query

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

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

        public R<io.milvus.grpc.GetMetricsResponse> getMetrics​(GetMetricsParam requestParam)
        Description copied from interface: MilvusClient
        Gets the runtime metrics information of Milvus, returns the result in .json format.
        Specified by:
        getMetrics in interface MilvusClient
        Parameters:
        requestParam - GetMetricsParam
        Returns:
        {status:result code, data:GetMetricsResponse{status,metrics}}
      • getFlushState

        public R<io.milvus.grpc.GetFlushStateResponse> getFlushState​(GetFlushStateParam requestParam)
        Description copied from interface: MilvusClient
        Get flush state of specified collection.
        Specified by:
        getFlushState in interface MilvusClient
        Parameters:
        requestParam - GetFlushStateParam
        Returns:
        {status:result code, data:GetMetricsResponse{status,metrics}}
      • getPersistentSegmentInfo

        public R<io.milvus.grpc.GetPersistentSegmentInfoResponse> getPersistentSegmentInfo​(GetPersistentSegmentInfoParam requestParam)
        Description copied from interface: MilvusClient
        Gets the information of persistent segments from data node, including row count, persistence state(growing or flushed), etc.
        Specified by:
        getPersistentSegmentInfo in interface MilvusClient
        Parameters:
        requestParam - GetPersistentSegmentInfoParam
        Returns:
        {status:result code, data:GetPersistentSegmentInfoResponse{status,info}}
      • getQuerySegmentInfo

        public R<io.milvus.grpc.GetQuerySegmentInfoResponse> getQuerySegmentInfo​(GetQuerySegmentInfoParam requestParam)
        Description copied from interface: MilvusClient
        Gets the query information of segments in a collection from query node, including row count, memory usage size, index name, etc.
        Specified by:
        getQuerySegmentInfo in interface MilvusClient
        Parameters:
        requestParam - GetQuerySegmentInfoParam
        Returns:
        {status:result code, data:GetQuerySegmentInfoResponse{status,info}}
      • getReplicas

        public R<io.milvus.grpc.GetReplicasResponse> getReplicas​(GetReplicasParam requestParam)
        Description copied from interface: MilvusClient
        Returns the collection's replica information
        Specified by:
        getReplicas in interface MilvusClient
        Parameters:
        requestParam - GetReplicasParam
        Returns:
        {status:result code, data:GetReplicasResponse{status,info}}
      • manualCompact

        public R<io.milvus.grpc.ManualCompactionResponse> manualCompact​(ManualCompactParam requestParam)
        Description copied from interface: MilvusClient
        Performs a manual compaction.
        Specified by:
        manualCompact in interface MilvusClient
        Parameters:
        requestParam - ManualCompactParam
        Returns:
        {status:result code, data:ManualCompactionResponse{status,info}}
      • updateCredential

        public R<RpcStatus> updateCredential​(UpdateCredentialParam requestParam)
        Description copied from interface: MilvusClient
        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.
        Specified by:
        updateCredential in interface MilvusClient
        Parameters:
        requestParam - UpdateCredentialParam
        Returns:
        {status:result code, data:RpcStatus{msg: result message}}
      • selectRole

        public R<io.milvus.grpc.SelectRoleResponse> selectRole​(SelectRoleParam requestParam)
        Description copied from interface: MilvusClient
        Get all users who are added to the role.
        Specified by:
        selectRole in interface MilvusClient
        Parameters:
        requestParam - SelectRoleParam
        Returns:
        {status:result code, data:SelectRoleResponse{status,info}}
      • selectUser

        public R<io.milvus.grpc.SelectUserResponse> selectUser​(SelectUserParam requestParam)
        Description copied from interface: MilvusClient
        Get all roles the user has.
        Specified by:
        selectUser in interface MilvusClient
        Parameters:
        requestParam - SelectUserParam
        Returns:
        {status:result code, data:SelectUserResponse{status,info}}
      • bulkInsert

        public R<io.milvus.grpc.ImportResponse> bulkInsert​(BulkInsertParam requestParam)
        Description copied from interface: MilvusClient
        Import data from external files, currently support JSON format
        Specified by:
        bulkInsert in interface MilvusClient
        Parameters:
        requestParam - BulkInsertParam
        Returns:
        {status:result code, data:ImportResponse{status,info}}
      • checkHealth

        public R<io.milvus.grpc.CheckHealthResponse> checkHealth()
        Description copied from interface: MilvusClient
        Check server health
        Specified by:
        checkHealth in interface MilvusClient
        Returns:
        {status:result code, data:CheckHealthResponse{status,info}}
      • getVersion

        public R<io.milvus.grpc.GetVersionResponse> getVersion()
        Description copied from interface: MilvusClient
        Get server version
        Specified by:
        getVersion in interface MilvusClient
        Returns:
        {status:result code, data:GetVersionResponse{status,info}}
      • insert

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

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

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