예제 #1
0
        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);
        }
예제 #2
0
        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);
        }