Все,
Я работаю над запросом Nest 6.x, который создает текущий DSL для поля даты в Elastic search. API Nest допускает только двойное значение для GreaterThanOrEquals () в поле даты. Как я могу преобразовать тип DateMath, который производит сейчас-30d / d, в double? Пожалуйста, смотрите мой код ниже
Запрос DSL
{
"range": {
"agreementCancelDate": {
"gte": "now-30d/d"
}
}
}
Nest
f.Range(r => r.Field("agreementCancelDate").GreaterThanOrEquals(d))
d выше должно быть представлением двойного значения теперь-30d / d.
Я использую следующий код для создания сейчас-30d / d, используя Nest.DateMath api
var aMonthBack = Nest.DateMath.Now.Subtract("30d").RoundTo(DateMathTimeUnit.Day);
Старая версия NEST (1.7x) позволяла мне вводить строковое значение, например "now-30d / d", но 6.x принимает только двойное значение
В приведенном выше коде Nest f является QueryContainerDescriptor