Class MilvusClientV2


  • public class MilvusClientV2
    extends Object
    • Constructor Detail

      • MilvusClientV2

        public MilvusClientV2​(ConnectConfig connectConfig)
        Creates a Milvus client instance.
        Parameters:
        connectConfig - Milvus server connection configuration
    • Method Detail

      • retryConfig

        public void retryConfig​(RetryConfig retryConfig)
      • currentUsedDatabase

        public String currentUsedDatabase()
      • createDatabase

        public void createDatabase​(CreateDatabaseReq request)
        Creates a database in Milvus.
        Parameters:
        request - create database request
      • dropDatabase

        public void dropDatabase​(DropDatabaseReq request)
        Drops a database. Note that this method drops all data in the database.
        Parameters:
        request - drop database request
      • listDatabases

        public ListDatabasesResp listDatabases()
        List all databases.
        Returns:
        List of String database names
      • alterDatabase

        @Deprecated
        public void alterDatabase​(AlterDatabaseReq request)
        Deprecated.
        Alter database with key value pair. (Available from Milvus v2.4.4) Deprecated, replaced by alterDatabaseProperties from SDK v2.5.3, to keep consistence with other SDKs
        Parameters:
        request - alter database request
      • alterDatabaseProperties

        public void alterDatabaseProperties​(AlterDatabasePropertiesReq request)
        Alter a database's properties.
        Parameters:
        request - alter database properties request
      • dropDatabaseProperties

        public void dropDatabaseProperties​(DropDatabasePropertiesReq request)
        drop a database's properties.
        Parameters:
        request - alter database properties request
      • describeDatabase

        public DescribeDatabaseResp describeDatabase​(DescribeDatabaseReq request)
        Show detail of database base, such as replica number and resource groups. (Available from Milvus v2.4.4)
        Parameters:
        request - describe database request
        Returns:
        DescribeDatabaseResp
      • createCollection

        public void createCollection​(CreateCollectionReq request)
        Creates a collection in Milvus.
        Parameters:
        request - create collection request
      • createSchema

        @Deprecated
        public CreateCollectionReq.CollectionSchema createSchema()
        Deprecated.
        Creates a collection schema. This method is deprecated from v2.5.9, replaced by CreateSchema()
        Returns:
        CreateCollectionReq.CollectionSchema
      • listCollections

        public ListCollectionsResp listCollections()
        List milvus collections in the current database of the connection
        Returns:
        List of String collection names
      • listCollectionsV2

        public ListCollectionsResp listCollectionsV2​(ListCollectionsReq request)
        List milvus collections, can specify the target database Note: the old API listCollections() doesn't have a ListCollectionsReq argument, we have to create this new V2 API to avoid incompatible issue.
        Returns:
        List of String collection names
      • dropCollection

        public void dropCollection​(DropCollectionReq request)
        Drops a collection in Milvus.
        Parameters:
        request - drop collection request
      • truncateCollection

        public void truncateCollection​(TruncateCollectionReq request)
        Truncates a collection in Milvus, removing all data while preserving the collection schema.
        Parameters:
        request - truncate collection request
      • alterCollection

        @Deprecated
        public void alterCollection​(AlterCollectionReq request)
        Deprecated.
        Alter a collection in Milvus. Deprecated, replaced by alterCollectionProperties from SDK v2.5.3, to keep consistence with other SDKs
        Parameters:
        request - alter collection request
      • alterCollectionProperties

        public void alterCollectionProperties​(AlterCollectionPropertiesReq request)
        Alter a collection's properties.
        Parameters:
        request - alter collection properties request
      • addCollectionField

        public void addCollectionField​(AddCollectionFieldReq request)
        Add a new field to collection.
        Parameters:
        request - add new field request
      • addCollectionStructField

        public void addCollectionStructField​(AddCollectionStructFieldReq request)
        Add a new struct field to collection.
        Parameters:
        request - add new struct field request
      • alterCollectionField

        public void alterCollectionField​(AlterCollectionFieldReq request)
        Alter a field's properties.
        Parameters:
        request - alter field properties request
      • dropCollectionField

        public void dropCollectionField​(DropCollectionFieldReq request)
        Drop a field from collection.
        Parameters:
        request - drop field request
      • dropCollectionProperties

        public void dropCollectionProperties​(DropCollectionPropertiesReq request)
        drop a collection's properties.
        Parameters:
        request - drop collection properties request
      • dropCollectionFieldProperties

        public void dropCollectionFieldProperties​(DropCollectionFieldPropertiesReq request)
        drop a field's properties.
        Parameters:
        request - drop field properties request
      • hasCollection

        public Boolean hasCollection​(HasCollectionReq request)
        Checks whether a collection exists in Milvus.
        Parameters:
        request - has collection request
        Returns:
        Boolean
      • describeCollection

        public DescribeCollectionResp describeCollection​(DescribeCollectionReq request)
        Gets the collection info in Milvus.
        Parameters:
        request - describe collection request
        Returns:
        DescribeCollectionResp
      • getCollectionStats

        public GetCollectionStatsResp getCollectionStats​(GetCollectionStatsReq request)
        get collection stats for a collection in Milvus.
        Parameters:
        request - get collection stats request
        Returns:
        GetCollectionStatsResp
      • renameCollection

        public void renameCollection​(RenameCollectionReq request)
        rename collection in a collection in Milvus.
        Parameters:
        request - rename collection request
      • loadCollection

        public void loadCollection​(LoadCollectionReq request)
        Loads a collection into memory in Milvus.
        Parameters:
        request - load collection request
      • refreshLoad

        public void refreshLoad​(RefreshLoadReq request)
        Refresh loads a collection. Mainly used when there are new segments generated by bulkinsert request. Force the new segments to be loaded into memory. Note: this interface will ignore the LoadCollectionReq.refresh flag
        Parameters:
        request - refresh load collection request
      • releaseCollection

        public void releaseCollection​(ReleaseCollectionReq request)
        Releases a collection from memory in Milvus.
        Parameters:
        request - release collection request
      • getLoadState

        public Boolean getLoadState​(GetLoadStateReq request)
        Checks whether a collection is loaded in Milvus.
        Parameters:
        request - get load state request
        Returns:
        Boolean
      • getLoadStateV2

        public GetLoadStateResp getLoadStateV2​(GetLoadStateReq request)
        Gets detailed load state information for a collection or partition in Milvus.
        Parameters:
        request - get load state request
        Returns:
        GetLoadStateResp
      • describeReplicas

        public DescribeReplicasResp describeReplicas​(DescribeReplicasReq request)
        Get information of all replicas from a collection.
        Parameters:
        request - describe replicas request
      • addFunctionField

        public void addFunctionField​(AddFunctionFieldReq request)
        Add a function-backed field to collection. The request must include a bound index whose field matches the function output field, with an explicit index type other than None or AUTOINDEX.
        Parameters:
        request - add function field request
      • alterCollectionFunction

        public void alterCollectionFunction​(AlterCollectionFunctionReq request)
        Alter a function of collection.
        Parameters:
        request - alter function request
      • dropCollectionFunction

        public void dropCollectionFunction​(DropCollectionFunctionReq request)
        Drops only the function definition and keeps its output field(s). Milvus 3.0 and later do not support this operation. Use dropFunctionField(DropFunctionFieldReq) with these versions.
        Parameters:
        request - drop function request
      • dropFunctionField

        public void dropFunctionField​(DropFunctionFieldReq request)
        Drop a function-backed field from collection. This removes the function and its output field(s), unlike dropCollectionFunction, which only drops the function definition.
        Parameters:
        request - drop function field request
      • createIndex

        public void createIndex​(CreateIndexReq request)
        Creates an index for a specified field in a collection in Milvus.
        Parameters:
        request - create index request
      • dropIndex

        public void dropIndex​(DropIndexReq request)
        Drops an index for a specified field in a collection in Milvus.
        Parameters:
        request - drop index request
      • alterIndex

        @Deprecated
        public void alterIndex​(AlterIndexReq request)
        Deprecated.
        Alter an index in Milvus. Deprecated, replaced by alterIndexProperties from SDK v2.5.3, to keep consistence with other SDKs
        Parameters:
        request - alter index request
      • alterIndexProperties

        public void alterIndexProperties​(AlterIndexPropertiesReq request)
        Alter an index's properties.
        Parameters:
        request - alter index request
      • dropIndexProperties

        public void dropIndexProperties​(DropIndexPropertiesReq request)
        drop an index's properties.
        Parameters:
        request - drop index properties request
      • describeIndex

        public DescribeIndexResp describeIndex​(DescribeIndexReq request)
        Checks whether an index exists for a specified field in a collection in Milvus.
        Parameters:
        request - describe index request
        Returns:
        DescribeIndexResp
      • listIndexes

        public List<String> listIndexes​(ListIndexesReq request)
        Lists all indexes in a collection in Milvus.
        Parameters:
        request - list indexes request
        Returns:
        List of String names of the indexes
      • insert

        public InsertResp insert​(InsertReq request)
        Inserts vectors into a collection in Milvus.
        Parameters:
        request - insert request
        Returns:
        InsertResp
      • upsert

        public UpsertResp upsert​(UpsertReq request)
        Upsert vectors into a collection in Milvus.
        Parameters:
        request - upsert request
        Returns:
        UpsertResp
      • delete

        public DeleteResp delete​(DeleteReq request)
        Deletes vectors in a collection in Milvus.
        Parameters:
        request - delete request
        Returns:
        DeleteResp
      • get

        public GetResp get​(GetReq request)
        Gets vectors in a collection in Milvus.
        Parameters:
        request - get request
        Returns:
        GetResp
      • query

        public QueryResp query​(QueryReq request)
        Queries vectors in a collection in Milvus.
        Parameters:
        request - query request
        Returns:
        QueryResp
      • search

        public SearchResp search​(SearchReq request)
        Searches vectors in a collection in Milvus.
        Parameters:
        request - search request
        Returns:
        SearchResp
      • hybridSearch

        public SearchResp hybridSearch​(HybridSearchReq request)
        Conducts multi vector similarity search with a ranker for rearrangement.
        Parameters:
        request - search request
        Returns:
        SearchResp
      • queryIterator

        public QueryIterator queryIterator​(QueryIteratorReq request)
        Get queryIterator based on scalar field(s) filtered by boolean expression. Note that the order of the returned entities cannot be guaranteed.
        Parameters:
        request - query iterator request
        Returns:
        QueryIterator
      • searchIterator

        public SearchIterator searchIterator​(SearchIteratorReq request)
        Get searchIterator based on a vector field. Use expression to do filtering before search.
        Parameters:
        request - search iterator request
        Returns:
        SearchIterator
      • searchIteratorV2

        public SearchIteratorV2 searchIteratorV2​(SearchIteratorReqV2 request)
        Get searchIteratorV2 based on a vector field. Use expression to do filtering before search.
        Parameters:
        request - search iterator request V2
        Returns:
        SearchIteratorV2
      • runAnalyzer

        public RunAnalyzerResp runAnalyzer​(RunAnalyzerReq request)
        Run analyzer. Return result tokens of analysis. Milvus server supports this interface from v2.5.11
        Parameters:
        request - run analyzer request
        Returns:
        RunAnalyzerResp
      • createPartition

        public void createPartition​(CreatePartitionReq request)
        Creates a partition in a collection in Milvus.
        Parameters:
        request - create partition request
      • dropPartition

        public void dropPartition​(DropPartitionReq request)
        Drops a partition in a collection in Milvus.
        Parameters:
        request - drop partition request
      • hasPartition

        public Boolean hasPartition​(HasPartitionReq request)
        Checks whether a partition exists in a collection in Milvus.
        Parameters:
        request - has partition request
        Returns:
        Boolean
      • listPartitions

        public List<String> listPartitions​(ListPartitionsReq request)
        Lists all partitions in a collection in Milvus.
        Parameters:
        request - list partitions request
        Returns:
        List of String partition names
      • getPartitionStats

        public GetPartitionStatsResp getPartitionStats​(GetPartitionStatsReq request)
        get a partition stats in Milvus.
        Parameters:
        request - get partition stats request
        Returns:
        GetPartitionStatsResp
      • loadPartitions

        public void loadPartitions​(LoadPartitionsReq request)
        Loads partitions in a collection in Milvus.
        Parameters:
        request - load partitions request
      • releasePartitions

        public void releasePartitions​(ReleasePartitionsReq request)
        Releases partitions in a collection in Milvus.
        Parameters:
        request - release partitions request
      • listUsers

        public List<String> listUsers()
        list users
        Returns:
        List of String usernames
      • describeUser

        public DescribeUserResp describeUser​(DescribeUserReq request)
        describe user
        Parameters:
        request - describe user request
        Returns:
        DescribeUserResp
      • createUser

        public void createUser​(CreateUserReq request)
        create user
        Parameters:
        request - create user request
      • updatePassword

        public void updatePassword​(UpdatePasswordReq request)
        change password
        Parameters:
        request - change password request
      • updateUser

        public void updateUser​(UpdateUserReq request)
        update user
        Parameters:
        request - update user request
      • dropUser

        public void dropUser​(DropUserReq request)
        drop user
        Parameters:
        request - drop user request
      • listRoles

        public List<String> listRoles()
        list roles
        Returns:
        List of String role names
      • describeRole

        public DescribeRoleResp describeRole​(DescribeRoleReq request)
        describe role
        Parameters:
        request - describe role request
        Returns:
        DescribeRoleResp
      • createRole

        public void createRole​(CreateRoleReq request)
        create role
        Parameters:
        request - create role request
      • alterRole

        public void alterRole​(AlterRoleReq request)
        alter role
        Parameters:
        request - alter role request
      • dropRole

        public void dropRole​(DropRoleReq request)
        drop role
        Parameters:
        request - drop role request
      • grantPrivilege

        public void grantPrivilege​(GrantPrivilegeReq request)
        grant privilege
        Parameters:
        request - grant privilege request
      • revokePrivilege

        public void revokePrivilege​(RevokePrivilegeReq request)
        revoke privilege
        Parameters:
        request - revoke privilege request
      • grantRole

        public void grantRole​(GrantRoleReq request)
        grant role
        Parameters:
        request - grant role request
      • revokeRole

        public void revokeRole​(RevokeRoleReq request)
        revoke role
        Parameters:
        request - revoke role request
      • transferNode

        public void transferNode​(TransferNodeReq request)
        Transfer query nodes from source resource group to target resource_group.
        Parameters:
        request - TransferNodeReq
      • transferReplica

        public void transferReplica​(TransferReplicaReq request)
        Transfer a replica from source resource group to target resource_group.
        Parameters:
        request - TransferReplicaReq
      • createSnapshot

        public void createSnapshot​(CreateSnapshotReq request)
        Create a snapshot for a collection.
        Parameters:
        request - create snapshot request
      • dropSnapshot

        public void dropSnapshot​(DropSnapshotReq request)
        Delete a snapshot permanently.
        Parameters:
        request - drop snapshot request
      • listSnapshots

        public ListSnapshotsResp listSnapshots​(ListSnapshotsReq request)
        List existing snapshots.
        Parameters:
        request - list snapshots request
        Returns:
        ListSnapshotsResp
      • describeSnapshot

        public DescribeSnapshotResp describeSnapshot​(DescribeSnapshotReq request)
        Get detailed information about a specific snapshot.
        Parameters:
        request - describe snapshot request
        Returns:
        DescribeSnapshotResp
      • restoreSnapshot

        public RestoreSnapshotResp restoreSnapshot​(RestoreSnapshotReq request)
        Restore a snapshot to a new collection.
        Parameters:
        request - restore snapshot request
        Returns:
        RestoreSnapshotResp containing the restore job ID
      • getRestoreSnapshotState

        public GetRestoreSnapshotStateResp getRestoreSnapshotState​(GetRestoreSnapshotStateReq request)
        Query the status and progress of a restore snapshot job.
        Parameters:
        request - get restore snapshot state request
        Returns:
        GetRestoreSnapshotStateResp
      • pinSnapshotData

        public PinSnapshotDataResp pinSnapshotData​(PinSnapshotDataReq request)
        Pin snapshot data to prevent garbage collection while copying it out.
        Parameters:
        request - pin snapshot data request
        Returns:
        PinSnapshotDataResp containing the pin ID
      • unpinSnapshotData

        public void unpinSnapshotData​(UnpinSnapshotDataReq request)
        Release a pin created by pinSnapshotData.
        Parameters:
        request - unpin snapshot data request
      • createAlias

        public void createAlias​(CreateAliasReq request)
        create aliases
        Parameters:
        request - create alias request
      • dropAlias

        public void dropAlias​(DropAliasReq request)
        drop aliases
        Parameters:
        request - drop alias request
      • alterAlias

        public void alterAlias​(AlterAliasReq request)
        alter aliases
        Parameters:
        request - alter alias request
      • listAliases

        public ListAliasResp listAliases​(ListAliasesReq request)
        list aliases
        Parameters:
        request - list aliases request
        Returns:
        List of String alias names
      • describeAlias

        public DescribeAliasResp describeAlias​(DescribeAliasReq request)
        describe aliases
        Parameters:
        request - describe alias request
        Returns:
        DescribeAliasResp
      • flush

        public void flush​(FlushReq request)
        trigger a flush action in server side
        Parameters:
        request - flush request
      • flushAll

        public FlushAllResp flushAll​(FlushAllReq request)
        trigger a flush action for all collections in server side
        Parameters:
        request - flush all request
        Returns:
        FlushAllResp
      • getFlushAllState

        public GetFlushAllStateResp getFlushAllState​(GetFlushAllStateReq request)
        Gets the flush all state.
        Parameters:
        request - get flush all state request
        Returns:
        GetFlushAllStateResp
      • getPersistentSegmentInfo

        public GetPersistentSegmentInfoResp getPersistentSegmentInfo​(GetPersistentSegmentInfoReq request)
        Gets the information of persistent segments from data node, including row count, persistence state(growing or flushed), etc.
        Parameters:
        request - get request
        Returns:
        GetPersistentSegmentInfoResp
      • getQuerySegmentInfo

        public GetQuerySegmentInfoResp getQuerySegmentInfo​(GetQuerySegmentInfoReq request)
        Gets the query information of segments in a collection from query node, including row count, memory usage size, index name, etc.
        Parameters:
        request - get request
        Returns:
        GetQuerySegmentInfoResp
      • compact

        public CompactResp compact​(CompactReq request)
        trigger an asynchronous compaction in server side
        Parameters:
        request - compact request
        Returns:
        CompactResp
      • getCompactionState

        public GetCompactionStateResp getCompactionState​(GetCompactionStateReq request)
        get a compact task state by its ID
        Parameters:
        request - get compact state request
        Returns:
        GetCompactStateResp
      • getCompactionPlans

        public GetCompactionPlansResp getCompactionPlans​(GetCompactionPlansReq request)
        get plans of a compact task by its ID
        Parameters:
        request - get compact plans request
        Returns:
        GetCompactPlansResp
      • refreshExternalCollection

        public RefreshExternalCollectionResp refreshExternalCollection​(RefreshExternalCollectionReq request)
        Refresh an external collection from its external data source.
        Parameters:
        request - refresh external collection request
        Returns:
        RefreshExternalCollectionResp containing the job ID
      • addFileResource

        public void addFileResource​(AddFileResourceReq request)
        Add a file resource to Milvus.
        Parameters:
        request - add file resource request containing name and path
      • removeFileResource

        public void removeFileResource​(RemoveFileResourceReq request)
        Remove a file resource from Milvus.
        Parameters:
        request - remove file resource request containing name
      • listFileResources

        public ListFileResourcesResp listFileResources​(ListFileResourcesReq request)
        List all file resources in Milvus.
        Parameters:
        request - list file resources request
        Returns:
        ListFileResourcesResp containing the list of file resources
      • dumpMessages

        public DumpMessagesResp dumpMessages​(DumpMessagesReq request)
        Dump messages from a WAL range for data salvage.
        Parameters:
        request - dump messages request
        Returns:
        DumpMessagesResp containing a lazy stream of dumped messages
      • optimize

        public OptimizeTask optimize​(OptimizeReq request)
        Optimize collection to adjust segment sizes for better query performance. This method performs the following operations: 1. Waits for all indexes to complete building 2. Triggers force merge compaction with optional target size 3. Waits for compaction to complete 4. Waits for index rebuild to complete 5. Refreshes collection load if collection is loaded
        Parameters:
        request - optimize request
        Returns:
        OptimizeTask for tracking progress and getting result
      • getServerVersion

        public String getServerVersion()
        Get server version
        Returns:
        String
      • getServerVersionV2

        public GetServerVersionResp getServerVersionV2​(GetServerVersionReq request)
        Get server version information
        Parameters:
        request - get server version request
        Returns:
        GetServerVersionResp
      • checkHealth

        public CheckHealthResp checkHealth()
        Check server health
        Returns:
        CheckHealthResp
      • close

        public void close​(long maxWaitSeconds)
                   throws InterruptedException
        Disconnects from a Milvus server with configurable timeout
        Parameters:
        maxWaitSeconds - max wait seconds
        Throws:
        InterruptedException - throws InterruptedException if the client failed to close connection
      • close

        public void close()
        Disconnects from a Milvus server with timeout of 1 second
      • clientIsReady

        public boolean clientIsReady()