Найти дату поиска Azure без временной части - PullRequest
0 голосов
/ 24 сентября 2019

Я не могу найти способ получения даты из поиска Azure, используя только дату.

Даты в индексе выглядят так: «2019-10-15T18: 00: 00Z», «2019-10-22T18: 00: 00Z "," 2019-10-29T18: 00: 00Z "

Если я пытаюсь StartDate/any(s: s eq 2019-10-15T18:00:00Z), я получаю результаты, но с StartDate/any(s: s eq 2019-10-15) ничего не получается

Я пытался использовать функцию date OData следующим образом: StartDate/any(s: date(s) eq 2019-10-15), но я получаю сообщение об ошибке «Функция« Дата »не поддерживается».

Есть ли способ получить даты без использования части времени?

Ответы [ 2 ]

0 голосов
/ 24 сентября 2019

Использование литералов даты в фильтрах в поиске Azure больше не будет поддерживаться, начиная с версии API 2019-05-06-Preview.Это была «случайная особенность», которую мы никогда не собирались поддерживать.Причина, по которой вы не получаете никаких результатов, заключается в том, что неявное преобразование из Edm.Date в Edm.DateTimeOffset предполагает время полуночи UTC, тогда как даты в вашем индексе - 18:00 UTC.

Мы рекомендуем явно указатьвремя и смещение (или Z для UTC) в фильтрах, чтобы избежать этой проблемы.

Если вы хотите, чтобы Поиск Azure изначально поддерживал поля и фильтры типа Edm.Date, пожалуйста, проголосуйте за это предложение Голос пользователя.

0 голосов
/ 24 сентября 2019

Значения даты и времени, представленные в формате OData V4: yyyy-MM-ddTHH:mm:ss.fffZ или yyyy-MM-ddTHH:mm:ss.fff[+|-]HH:mm.Точность полей DateTimeOffset ограничена миллисекундами.Если вы загружаете DateTimeOffset значений с точностью до миллисекунды, возвращаемое значение будет округлено до миллисекунд.

Когда вы загружаете * DateTimeOffset значений с информацией о часовом поясе в свой индекс, поиск Azure нормализуетсяэти значения до UTC.

См. поддерживаемые типы данных в поиске Azure.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...