[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eSearchTuningServiceClientImpl\u003c/code\u003e class is a client wrapper implementation for the Discovery Engine v1 API's \u003ccode\u003eSearchTuningService\u003c/code\u003e, designed for ease of use.\u003c/p\u003e\n"],["\u003cp\u003eThis class inherits from \u003ccode\u003eSearchTuningServiceClient\u003c/code\u003e and provides methods for managing custom models, including listing and training them.\u003c/p\u003e\n"],["\u003cp\u003eIt includes a constructor that takes a gRPC client, settings, and an optional logger to facilitate service interactions.\u003c/p\u003e\n"],["\u003cp\u003eThe class provides override properties such as \u003ccode\u003eGrpcClient\u003c/code\u003e, \u003ccode\u003eLocationsClient\u003c/code\u003e, and \u003ccode\u003eTrainCustomModelOperationsClient\u003c/code\u003e, enhancing functionality.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version of this wrapper is 1.6.0, with multiple previous versions available for use, starting from version 1.0.0-beta06.\u003c/p\u003e\n"]]],[],null,["# Discovery Engine v1 API - Class SearchTuningServiceClientImpl (1.9.0)\n\nVersion latestkeyboard_arrow_down\n\n- [1.9.0 (latest)](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.SearchTuningServiceClientImpl)\n- [1.8.0](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.8.0/Google.Cloud.DiscoveryEngine.V1.SearchTuningServiceClientImpl)\n- [1.7.0](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.7.0/Google.Cloud.DiscoveryEngine.V1.SearchTuningServiceClientImpl)\n- [1.6.0](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.6.0/Google.Cloud.DiscoveryEngine.V1.SearchTuningServiceClientImpl)\n- [1.5.0](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.5.0/Google.Cloud.DiscoveryEngine.V1.SearchTuningServiceClientImpl)\n- [1.4.0](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.4.0/Google.Cloud.DiscoveryEngine.V1.SearchTuningServiceClientImpl)\n- [1.3.0](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.3.0/Google.Cloud.DiscoveryEngine.V1.SearchTuningServiceClientImpl)\n- [1.2.0](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.2.0/Google.Cloud.DiscoveryEngine.V1.SearchTuningServiceClientImpl)\n- [1.1.0](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.1.0/Google.Cloud.DiscoveryEngine.V1.SearchTuningServiceClientImpl)\n- [1.0.0-beta06](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.0.0-beta06/Google.Cloud.DiscoveryEngine.V1.SearchTuningServiceClientImpl) \n\n public sealed class SearchTuningServiceClientImpl : SearchTuningServiceClient\n\nReference documentation and code samples for the Discovery Engine v1 API class SearchTuningServiceClientImpl.\n\nSearchTuningService client wrapper implementation, for convenient use. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e [SearchTuningServiceClient](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.SearchTuningServiceClient) \\\u003e SearchTuningServiceClientImpl \n\nInherited Members\n-----------------\n\n[SearchTuningServiceClient.DefaultEndpoint](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.SearchTuningServiceClient#Google_Cloud_DiscoveryEngine_V1_SearchTuningServiceClient_DefaultEndpoint) \n[SearchTuningServiceClient.DefaultScopes](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.SearchTuningServiceClient#Google_Cloud_DiscoveryEngine_V1_SearchTuningServiceClient_DefaultScopes) \n[SearchTuningServiceClient.ServiceMetadata](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.SearchTuningServiceClient#Google_Cloud_DiscoveryEngine_V1_SearchTuningServiceClient_ServiceMetadata) \n[SearchTuningServiceClient.CreateAsync(CancellationToken)](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.SearchTuningServiceClient#Google_Cloud_DiscoveryEngine_V1_SearchTuningServiceClient_CreateAsync_System_Threading_CancellationToken_) \n[SearchTuningServiceClient.Create()](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.SearchTuningServiceClient#Google_Cloud_DiscoveryEngine_V1_SearchTuningServiceClient_Create) \n[SearchTuningServiceClient.ShutdownDefaultChannelsAsync()](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.SearchTuningServiceClient#Google_Cloud_DiscoveryEngine_V1_SearchTuningServiceClient_ShutdownDefaultChannelsAsync) \n[SearchTuningServiceClient.TrainCustomModelAsync(TrainCustomModelRequest, CancellationToken)](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.SearchTuningServiceClient#Google_Cloud_DiscoveryEngine_V1_SearchTuningServiceClient_TrainCustomModelAsync_Google_Cloud_DiscoveryEngine_V1_TrainCustomModelRequest_System_Threading_CancellationToken_) \n[SearchTuningServiceClient.PollOnceTrainCustomModel(string, CallSettings)](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.SearchTuningServiceClient#Google_Cloud_DiscoveryEngine_V1_SearchTuningServiceClient_PollOnceTrainCustomModel_System_String_Google_Api_Gax_Grpc_CallSettings_) \n[SearchTuningServiceClient.PollOnceTrainCustomModelAsync(string, CallSettings)](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.SearchTuningServiceClient#Google_Cloud_DiscoveryEngine_V1_SearchTuningServiceClient_PollOnceTrainCustomModelAsync_System_String_Google_Api_Gax_Grpc_CallSettings_) \n[SearchTuningServiceClient.ListCustomModelsAsync(ListCustomModelsRequest, CancellationToken)](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.SearchTuningServiceClient#Google_Cloud_DiscoveryEngine_V1_SearchTuningServiceClient_ListCustomModelsAsync_Google_Cloud_DiscoveryEngine_V1_ListCustomModelsRequest_System_Threading_CancellationToken_) \n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.DiscoveryEngine.V1](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.DiscoveryEngine.V1.dll\n\nRemarks\n-------\n\nService for search tuning.\n\nConstructors\n------------\n\n### SearchTuningServiceClientImpl(SearchTuningServiceClient, SearchTuningServiceSettings, ILogger)\n\n public SearchTuningServiceClientImpl(SearchTuningService.SearchTuningServiceClient grpcClient, SearchTuningServiceSettings settings, ILogger logger)\n\nConstructs a client wrapper for the SearchTuningService service, with the specified gRPC client and\nsettings.\n\nProperties\n----------\n\n### GrpcClient\n\n public override SearchTuningService.SearchTuningServiceClient GrpcClient { get; }\n\nThe underlying gRPC SearchTuningService client\n\n**Overrides** \n[SearchTuningServiceClient.GrpcClient](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.SearchTuningServiceClient#Google_Cloud_DiscoveryEngine_V1_SearchTuningServiceClient_GrpcClient)\n\n### LocationsClient\n\n public override LocationsClient LocationsClient { get; }\n\nThe [LocationsClient](https://cloud.google.com/dotnet/docs/reference/Google.Cloud.Location/latest/Google.Cloud.Location.LocationsClient.html) associated with this client.\n\n**Overrides** \n[SearchTuningServiceClient.LocationsClient](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.SearchTuningServiceClient#Google_Cloud_DiscoveryEngine_V1_SearchTuningServiceClient_LocationsClient)\n\n### TrainCustomModelOperationsClient\n\n public override OperationsClient TrainCustomModelOperationsClient { get; }\n\nThe long-running operations client for `TrainCustomModel`.\n\n**Overrides** \n[SearchTuningServiceClient.TrainCustomModelOperationsClient](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.SearchTuningServiceClient#Google_Cloud_DiscoveryEngine_V1_SearchTuningServiceClient_TrainCustomModelOperationsClient)\n\nMethods\n-------\n\n### ListCustomModels(ListCustomModelsRequest, CallSettings)\n\n public override ListCustomModelsResponse ListCustomModels(ListCustomModelsRequest request, CallSettings callSettings = null)\n\nGets a list of all the custom models.\n\n**Overrides** \n[SearchTuningServiceClient.ListCustomModels(ListCustomModelsRequest, CallSettings)](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.SearchTuningServiceClient#Google_Cloud_DiscoveryEngine_V1_SearchTuningServiceClient_ListCustomModels_Google_Cloud_DiscoveryEngine_V1_ListCustomModelsRequest_Google_Api_Gax_Grpc_CallSettings_)\n\n### ListCustomModelsAsync(ListCustomModelsRequest, CallSettings)\n\n public override Task\u003cListCustomModelsResponse\u003e ListCustomModelsAsync(ListCustomModelsRequest request, CallSettings callSettings = null)\n\nGets a list of all the custom models.\n\n**Overrides** \n[SearchTuningServiceClient.ListCustomModelsAsync(ListCustomModelsRequest, CallSettings)](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.SearchTuningServiceClient#Google_Cloud_DiscoveryEngine_V1_SearchTuningServiceClient_ListCustomModelsAsync_Google_Cloud_DiscoveryEngine_V1_ListCustomModelsRequest_Google_Api_Gax_Grpc_CallSettings_)\n\n### TrainCustomModel(TrainCustomModelRequest, CallSettings)\n\n public override Operation\u003cTrainCustomModelResponse, TrainCustomModelMetadata\u003e TrainCustomModel(TrainCustomModelRequest request, CallSettings callSettings = null)\n\nTrains a custom model.\n\n**Overrides** \n[SearchTuningServiceClient.TrainCustomModel(TrainCustomModelRequest, CallSettings)](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.SearchTuningServiceClient#Google_Cloud_DiscoveryEngine_V1_SearchTuningServiceClient_TrainCustomModel_Google_Cloud_DiscoveryEngine_V1_TrainCustomModelRequest_Google_Api_Gax_Grpc_CallSettings_)\n\n### TrainCustomModelAsync(TrainCustomModelRequest, CallSettings)\n\n public override Task\u003cOperation\u003cTrainCustomModelResponse, TrainCustomModelMetadata\u003e\u003e TrainCustomModelAsync(TrainCustomModelRequest request, CallSettings callSettings = null)\n\nTrains a custom model.\n\n**Overrides** \n[SearchTuningServiceClient.TrainCustomModelAsync(TrainCustomModelRequest, CallSettings)](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.SearchTuningServiceClient#Google_Cloud_DiscoveryEngine_V1_SearchTuningServiceClient_TrainCustomModelAsync_Google_Cloud_DiscoveryEngine_V1_TrainCustomModelRequest_Google_Api_Gax_Grpc_CallSettings_)"]]