首页 > 解决方案 > 查找没有时间部分的 Azure 搜索日期

问题描述

我找不到仅使用日期从 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)但我收到错误“不支持函数‘日期’”。

有没有办法在不使用时间部分的情况下获取日期?

标签: azure-cognitive-search

解决方案


从 api-version 2019-05-06-Preview 开始,将不再支持在 Azure 搜索的筛选器中使用日期文字。这是我们从未打算支持的“意外功能”。您没有得到任何结果的原因是因为从Edm.Dateto的隐式转换Edm.DateTimeOffset假定时间为 UTC 午夜,而索引中的日期是 UTC 下午 6 点。

我们建议在过滤器中明确提供时间和偏移量(或 Z 表示 UTC)以避免此问题。

如果您希望 Azure 搜索本机支持类型的字段和筛选器Edm.Date,请投票支持此用户语音建议


推荐阅读