public GetEcoIndexDataResponse GetEcoIndexData(GetEcoIndexDataRequest request) { RestRequest restRequest = new RestRequest(request.PatterName + "/_search", Method.POST); ElasticSingleRequest searchRequest = new ElasticSingleRequest { query = new ElasticEcoQuery { @bool = new ElasticBool { filter = new ElasticFilter { term = new ElasticTermId { Id = request.EcoIndexNr } }, must = new ElasticMustFilter { term = new ElasticMustName { Name = request.PairName } }, should = new ElasticShouldFilter() { range = new ElasticRange { Time = new ElasticRangeParameter { gte = request.From.ToString("yyyy-MM-dd"), lte = request.To.ToString("yyyy-MM-dd") } } } } }, size = request.size, sort = new List <ElasticSort> { new ElasticSort { Time = new ElasticTimeSort() } } }; restRequest.AddJsonBody(searchRequest); IRestResponse <GetEcoIndexDataResponse> response = _client.Execute <GetEcoIndexDataResponse>(restRequest); return(response.Data); }
public List <EcoIndex> GetLastEcoIndex(string pattern, EcoIndexEnum ecoIndex, string pairName, int size = 1) { RestRequest restRequest = new RestRequest(pattern + "/_search", Method.POST); ElasticSingleRequest request = new ElasticSingleRequest { query = new ElasticEcoQuery { @bool = new ElasticBool { filter = new ElasticFilter { term = new ElasticTermId { Id = (int)ecoIndex } }, must = new ElasticMustFilter { term = new ElasticMustName { Name = pairName } }, } }, size = size, sort = new List <ElasticSort> { new ElasticSort { Time = new ElasticTimeSort() } } }; restRequest.AddJsonBody(request); IRestResponse <ElasticItemResponse> response = _client.Execute <ElasticItemResponse>(restRequest); return(response?.Data?.hits?.hits?.Select(h => h._source)?.ToList()); }