/// <summary> /// Executes an asyncronus SearchQuery using the Search API and returns a list of generic pocos. /// https://www.elastic.co/guide/en/elasticsearch/reference/5.4/_the_search_api.html /// </summary> /// <typeparam name="TPoco">Has to Implement the IElasticPoco interface</typeparam> /// <param name="searchQuery">SearchQuery object.</param> /// <returns>IEnumerable<TPoco></returns> public async Task <IEnumerable <TPoco> > ExecuteSearchAsync <TPoco>(IExecutableSearchQuery <TPoco> searchQuery) where TPoco : IElasticPoco { var query = searchQuery as SearchQuery <TPoco>; IndexExists(query.IndexName); return(ProcessSeachResponse <TPoco>(await LowLevelClient.SearchAsync <string>(query.IndexName, Generator.Generate(query)))); }