varclient=Client;varcollectionName=$"test_indexes_{Guid.NewGuid():N}";varindexName="vector_index";varvectorFieldName="vector";// Create a collection with quick-setup (auto-creates an index).awaitclient.CollectionOperationsV2.CreateVectordbCollectionsCreateAsync(requestTimeout:30,collectionName:collectionName,dimension:4,metricType:"COSINE",autoId:false,primaryFieldName:"id",vectorFieldName:vectorFieldName);// List all indexes for the collection.varlistResponse=awaitclient.IndexOperationsV2.CreateVectordbIndexesListAsync(dbName:"default",collectionName:collectionName);Console.WriteLine($"Found {listResponse.Data.Count} index(es): {string.Join(",", listResponse.Data)}");// Describe the auto-created index to get detailed information.varautoIndexName=listResponse.Data[0];vardescribeResponse=awaitclient.IndexOperationsV2.CreateVectordbIndexesDescribeAsync(collectionName:collectionName,indexName:autoIndexName);varindexDetail=describeResponse.Data[0];Console.WriteLine($"Index name: {indexDetail.IndexName}");Console.WriteLine($"Index type: {indexDetail.IndexType}");Console.WriteLine($"Field name: {indexDetail.FieldName}");Console.WriteLine($"Metric type: {indexDetail.MetricType}");Console.WriteLine($"Index state: {indexDetail.IndexState}");// Release the collection before dropping the index (required by Milvus).awaitclient.CollectionOperationsV2.CreateVectordbCollectionsReleaseAsync(collectionName:collectionName);Console.WriteLine($"Collection '{collectionName}' released.");// Drop the auto-created index.awaitclient.IndexOperationsV2.CreateVectordbIndexesDropAsync(collectionName:collectionName,indexName1:autoIndexName);Console.WriteLine($"Index '{autoIndexName}' dropped.");// Create a new index with explicit parameters.awaitclient.IndexOperationsV2.CreateVectordbIndexesCreateAsync(collectionName:collectionName,indexParams:[ new IndexParam { MetricType = "L2", FieldName = vectorFieldName, IndexName = indexName, IndexConfig = new IndexConfig { IndexType = "AUTOINDEX", }, }, ]);Console.WriteLine($"Index '{indexName}' created.");// Verify the new index exists.varlistAfterCreate=awaitclient.IndexOperationsV2.CreateVectordbIndexesListAsync(dbName:"default",collectionName:collectionName);// Describe the newly created index.vardescribeNew=awaitclient.IndexOperationsV2.CreateVectordbIndexesDescribeAsync(collectionName:collectionName,indexName:indexName);Console.WriteLine($"New index metric type: {describeNew.Data[0].MetricType}");// Cleanup: drop the collection.awaitclient.CollectionOperationsV2.CreateVectordbCollectionsDropAsync(collectionName1:collectionName);