A unique search token. This should be included in the
[UserEvent][google.cloud.discoveryengine.v1beta.UserEvent] logs resulting
from this search, which enables accurate attribution of search model
performance. This also helps to identify a request during the customer
support scenarios.
Contains the spell corrected query, if found. If the spell correction type
is AUTOMATIC, then the search results are based on corrected_query.
Otherwise the original query is used for search.
A token that can be sent as
[SearchRequest.page_token][google.cloud.discoveryengine.v1beta.SearchRequest.page_token]
to retrieve the next page. If this field is omitted, there are no
subsequent pages.
The URI of a customer-defined redirect page. If redirect action is
triggered, no search is performed, and only
[redirect_uri][google.cloud.discoveryengine.v1beta.SearchResponse.redirect_uri]
and
[attribution_token][google.cloud.discoveryengine.v1beta.SearchResponse.attribution_token]
are set in the response.
public SearchResponse.Types.Summary Summary { get; set; }
A summary as part of the search results.
This field is only returned if
[SearchRequest.ContentSearchSpec.summary_spec][google.cloud.discoveryengine.v1beta.SearchRequest.ContentSearchSpec.summary_spec]
is set.
The estimated total count of matched items irrespective of pagination. The
count of
[results][google.cloud.discoveryengine.v1beta.SearchResponse.results]
returned by pagination may be less than the
[total_size][google.cloud.discoveryengine.v1beta.SearchResponse.total_size]
that matches.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eSearchResponse\u003c/code\u003e class is a response message for the \u003ccode\u003eSearchService.Search\u003c/code\u003e method in the Discovery Engine v1beta API.\u003c/p\u003e\n"],["\u003cp\u003eIt implements multiple interfaces, including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, \u003ccode\u003eIBufferMessage\u003c/code\u003e, \u003ccode\u003eIPageResponse\u003c/code\u003e, and \u003ccode\u003eIEnumerable\u003c/code\u003e, providing extensive functionalities for message handling and data iteration.\u003c/p\u003e\n"],["\u003cp\u003eThis class contains properties such as \u003ccode\u003eResults\u003c/code\u003e, \u003ccode\u003eFacets\u003c/code\u003e, \u003ccode\u003eOneBoxResults\u003c/code\u003e, \u003ccode\u003eCorrectedQuery\u003c/code\u003e, and \u003ccode\u003eNextPageToken\u003c/code\u003e to provide detailed information about search results, facets, query correction, and pagination.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eAttributionToken\u003c/code\u003e property in \u003ccode\u003eSearchResponse\u003c/code\u003e is crucial for logging \u003ccode\u003eUserEvent\u003c/code\u003e data and attributing search model performance.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eSearchResponse\u003c/code\u003e class has methods like \u003ccode\u003eGetEnumerator()\u003c/code\u003e that is used to iterate through the search result objects.\u003c/p\u003e\n"]]],[],null,["# Discovery Engine v1beta API - Class SearchResponse (1.0.0-beta19)\n\nVersion latestkeyboard_arrow_down\n\n- [1.0.0-beta19 (latest)](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.SearchResponse)\n- [1.0.0-beta18](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/1.0.0-beta18/Google.Cloud.DiscoveryEngine.V1Beta.SearchResponse) \n\n public sealed class SearchResponse : IMessage\u003cSearchResponse\u003e, IEquatable\u003cSearchResponse\u003e, IDeepCloneable\u003cSearchResponse\u003e, IBufferMessage, IMessage, IPageResponse\u003cSearchResponse.Types.SearchResult\u003e, IEnumerable\u003cSearchResponse.Types.SearchResult\u003e, IEnumerable\n\nReference documentation and code samples for the Discovery Engine v1beta API class SearchResponse.\n\nResponse message for\n\\[SearchService.Search\\]\\[google.cloud.discoveryengine.v1beta.SearchService.Search\\]\nmethod. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e SearchResponse \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[SearchResponse](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.SearchResponse), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[SearchResponse](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.SearchResponse), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[SearchResponse](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.SearchResponse), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html), [IPageResponse](https://cloud.google.com/dotnet/docs/reference/Google.Api.Gax/latest/Google.Api.Gax.Grpc.IPageResponse-1.html)[SearchResponse](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.SearchResponse)[Types](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.SearchResponse.Types)[SearchResult](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.SearchResponse.Types.SearchResult), [IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)[SearchResponse](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.SearchResponse)[Types](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.SearchResponse.Types)[SearchResult](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.SearchResponse.Types.SearchResult), [IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.ienumerable) \n\nInherited Members\n-----------------\n\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.V1Beta](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta)\n\nAssembly\n--------\n\nGoogle.Cloud.DiscoveryEngine.V1Beta.dll\n\nConstructors\n------------\n\n### SearchResponse()\n\n public SearchResponse()\n\n### SearchResponse(SearchResponse)\n\n public SearchResponse(SearchResponse other)\n\nProperties\n----------\n\n### AppliedControls\n\n public RepeatedField\u003cstring\u003e AppliedControls { get; }\n\nControls applied as part of the Control service.\n\n### AttributionToken\n\n public string AttributionToken { get; set; }\n\nA unique search token. This should be included in the\n\\[UserEvent\\]\\[google.cloud.discoveryengine.v1beta.UserEvent\\] logs resulting\nfrom this search, which enables accurate attribution of search model\nperformance. This also helps to identify a request during the customer\nsupport scenarios.\n\n### CorrectedQuery\n\n public string CorrectedQuery { get; set; }\n\nContains the spell corrected query, if found. If the spell correction type\nis AUTOMATIC, then the search results are based on corrected_query.\nOtherwise the original query is used for search.\n\n### Facets\n\n public RepeatedField\u003cSearchResponse.Types.Facet\u003e Facets { get; }\n\nResults of facets requested by user.\n\n### GeoSearchDebugInfo\n\n public RepeatedField\u003cSearchResponse.Types.GeoSearchDebugInfo\u003e GeoSearchDebugInfo { get; }\n\n### GuidedSearchResult\n\n public SearchResponse.Types.GuidedSearchResult GuidedSearchResult { get; set; }\n\nGuided search result.\n\n### NaturalLanguageQueryUnderstandingInfo\n\n public SearchResponse.Types.NaturalLanguageQueryUnderstandingInfo NaturalLanguageQueryUnderstandingInfo { get; set; }\n\nNatural language query understanding information for the returned results.\n\n### NextPageToken\n\n public string NextPageToken { get; set; }\n\nA token that can be sent as\n\\[SearchRequest.page_token\\]\\[google.cloud.discoveryengine.v1beta.SearchRequest.page_token\\]\nto retrieve the next page. If this field is omitted, there are no\nsubsequent pages.\n\n### OneBoxResults\n\n public RepeatedField\u003cSearchResponse.Types.OneBoxResult\u003e OneBoxResults { get; }\n\nA list of One Box results. There can be multiple One Box results of\ndifferent types.\n\n### QueryExpansionInfo\n\n public SearchResponse.Types.QueryExpansionInfo QueryExpansionInfo { get; set; }\n\nQuery expansion information for the returned results.\n\n### RedirectUri\n\n public string RedirectUri { get; set; }\n\nThe URI of a customer-defined redirect page. If redirect action is\ntriggered, no search is performed, and only\n\\[redirect_uri\\]\\[google.cloud.discoveryengine.v1beta.SearchResponse.redirect_uri\\]\nand\n\\[attribution_token\\]\\[google.cloud.discoveryengine.v1beta.SearchResponse.attribution_token\\]\nare set in the response.\n\n### Results\n\n public RepeatedField\u003cSearchResponse.Types.SearchResult\u003e Results { get; }\n\nA list of matched documents. The order represents the ranking.\n\n### SessionInfo\n\n public SearchResponse.Types.SessionInfo SessionInfo { get; set; }\n\nSession information.\n\nOnly set if\n\\[SearchRequest.session\\]\\[google.cloud.discoveryengine.v1beta.SearchRequest.session\\]\nis provided. See its description for more details.\n\n### Summary\n\n public SearchResponse.Types.Summary Summary { get; set; }\n\nA summary as part of the search results.\nThis field is only returned if\n\\[SearchRequest.ContentSearchSpec.summary_spec\\]\\[google.cloud.discoveryengine.v1beta.SearchRequest.ContentSearchSpec.summary_spec\\]\nis set.\n\n### TotalSize\n\n public int TotalSize { get; set; }\n\nThe estimated total count of matched items irrespective of pagination. The\ncount of\n\\[results\\]\\[google.cloud.discoveryengine.v1beta.SearchResponse.results\\]\nreturned by pagination may be less than the\n\\[total_size\\]\\[google.cloud.discoveryengine.v1beta.SearchResponse.total_size\\]\nthat matches.\n\nMethods\n-------\n\n### GetEnumerator()\n\n public IEnumerator\u003cSearchResponse.Types.SearchResult\u003e GetEnumerator()\n\nReturns an enumerator that iterates through the resources in this response."]]