Так что после некоторой возни я использовал этот кусок кода, чтобы сериализовать мой SearchDescriptor в отправленную строку:
var json = m_client.RequestResponseSerializer.SerializeToString(descriptor);
, который получил меня:
{
"aggs": {
"daily": {
"date_histogram": {
"extended_bounds": {
"max": "2019-07-02T16:25:57.522217",
"min": "2019-05-02T16:25:57.522217"
},
"field": "date",
"interval": "day"
}
}
},
"from": 0,
"size": 100,
"sort": [{
"Date": {
"order": "desc"
}
}]
}
Проблема в том, чтомое поле помещено в нижний регистр, что является ожидаемым поведением (как указано здесь ).
Решение состоит в том, чтобы переопределить DefaultFieldNameInferrer, который выполняет это преобразование, для этого я добавил в свое соединениенастройки:
var settings = new ConnectionSettings(pool);
settings.DefaultFieldNameInferrer(p => p);
И теперь все работает как положено.
Редактировать:
Как отмечает Russ Cam Я также могу передать строкуField (), поэтому другое решение просто сделать:
.Field(nameof(ModelWrapper.Date))