/// <summary>Snippet for Search</summary> public void SearchRequestObject() { // Snippet: Search(SearchRequest, CallSettings) // Create client SearchServiceClient searchServiceClient = SearchServiceClient.Create(); // Initialize request argument(s) SearchRequest request = new SearchRequest { Placement = "", BranchAsBranchName = BranchName.FromProjectLocationCatalogBranch("[PROJECT]", "[LOCATION]", "[CATALOG]", "[BRANCH]"), Query = "", VisitorId = "", UserInfo = new UserInfo(), Offset = 0, Filter = "", OrderBy = "", FacetSpecs = { new SearchRequest.Types.FacetSpec(), }, BoostSpec = new SearchRequest.Types.BoostSpec(), QueryExpansionSpec = new SearchRequest.Types.QueryExpansionSpec(), VariantRollupKeys = { "", }, DynamicFacetSpec = new SearchRequest.Types.DynamicFacetSpec(), PageCategories = { "", }, CanonicalFilter = "", }; // Make the request PagedEnumerable <SearchResponse, SearchResponse.Types.SearchResult> response = searchServiceClient.Search(request); // Iterate over all response items, lazily performing RPCs as required foreach (SearchResponse.Types.SearchResult item in response) { // Do something with each item Console.WriteLine(item); } // Or iterate over pages (of server-defined size), performing one RPC per page foreach (SearchResponse page in response.AsRawResponses()) { // Do something with each page of items Console.WriteLine("A page of results:"); foreach (SearchResponse.Types.SearchResult item in page) { // Do something with each item Console.WriteLine(item); } } // Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required int pageSize = 10; Page <SearchResponse.Types.SearchResult> singlePage = response.ReadPage(pageSize); // Do something with the page of items Console.WriteLine($"A page of {pageSize} results (unless it's the final page):"); foreach (SearchResponse.Types.SearchResult item in singlePage) { // Do something with each item Console.WriteLine(item); } // Store the pageToken, for when the next page is required. string nextPageToken = singlePage.NextPageToken; // End snippet }