Как преобразовать мое эластичное выражение консоли в выражение кода C #? - PullRequest
0 голосов
/ 17 мая 2019

Я получил рабочий консольный запрос, но мне нужно перенести его в мой код 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)
                        )
                    )
                );
...