public async Task <IEnumerable <T> > SearchAsync(string searchterm, int top = 0) { var query = client.CreateDocumentQuery <T>( UriFactory.CreateDocumentCollectionUri(DatabaseId, CollectionId), SearchableQuery <T> .Create(CollectionId, searchterm.ToLower().Split(' '), top), new FeedOptions { MaxItemCount = -1 }).AsDocumentQuery(); var results = new List <T>(); while (query.HasMoreResults) { results.AddRange(await query.ExecuteNextAsync <T>()); } return(results); }
public async Task <long> SearchRowCountAsync(string searchterm) { var query = client.CreateDocumentQuery( UriFactory.CreateDocumentCollectionUri(DatabaseId, CollectionId), SearchableQuery <T> .Count(CollectionId, searchterm.ToLower().Split(' ')), new FeedOptions { MaxItemCount = -1 }).AsDocumentQuery(); long results = 0; while (query.HasMoreResults) { var queryResult = await query.ExecuteNextAsync(); results += queryResult.First().Count; } return(results); }