如何将我的弹性控制台表达式转换为C#代码表达式?

时间:2019-05-17 16:41:43

标签: c# elasticsearch nest

我有一个正常的控制台请求,但是我需要将其转移到我的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)
                        )
                    )
                );

0 个答案:

没有答案