我有一个正常的控制台请求,但是我需要将其转移到我的C#代码中。对我来说,语法很难理解。请给我一些帮助。 控制台脚本在C#中的外观,以及在哪里可以有效了解以及其工作原理?
我的控制台请求(这是我在C#中想要的)
GET time_series_slim/timeseries/_search
{
"query" : {
"bool": {
"filter": [
{ "range": {"timestamp": {"gte": "05/17/2018 06:00:00", "lte": "05/17/2019 11:00:00"}}},
{ "term": {"dataRecordId": 5353} }
]
}
},
"aggs" : {
"erbebnis" : {
"date_histogram" : {
"field" : "timestamp",
"interval" : "hour"
},
"aggs" : {
"values" : { "avg" : {"field" : "value"} }
}
}
}
}
到目前为止,我在C#中收到了这个请求,在这里我只能要求提供DataRecordId。 但是我也想设置一个日期时间跨度,并要求平均值/最大值/最小值/..?
result = ElasticClient.Search<timeseries>
(document => document
.Source(src => src
.Includes(i => i
.Fields(
p => p.Timestamp,
p => p.Value
)
)
)
.Query(q => q
.Match(m => m
.Field(f => f.DataRecordId)
.Query(search)
)
)
);