【问题标题】:Skill output mapping to Edm.DateTimeOffset field技能输出映射到 Edm.DateTimeOffset 字段
【发布时间】:2021-01-16 20:16:03
【问题描述】:

Azure 认知搜索中是否可以将技能输出映射到 DateTimeOffset 字段? 收到错误:

技能回报:

{ “价值观”:[ { "recordId": "0", “数据”: { “日期”:“2020-09-25T04:00:00.0000000Z” }, “错误”:空, “警告”:空 } ] }

索引器映射技能输出

“输出字段映射”: [ { "sourceFieldName": "/document/message_date", “targetFieldName”:“message_date” } ]

其中 message_date 定义为

{ "name": "message_date", "type": "Edm.DateTimeOffset", “可排序”:是的, “可搜索”:错误, “可过滤”:是的, “面”:假 },

获取索引器错误: 文档中具有键“NA_0138373324”的数据字段“message_date”具有“Edm.String”类型的无效值(JSON 字符串映射到 Edm.String)。预期的类型是“Edm.DateTimeOffset”

如何强制索引器将其转换为日期?没有这样的映射功能

【问题讨论】:

    标签: azure-cognitive-search


    【解决方案1】:

    以 OData V4 格式表示的日期和时间值:yyyy-MM-ddTHH:mm:ss.fffZyyyy-MM-ddTHH:mm:ss.fff[+|-]HH:mmDateTimeOffset 字段的精度限制为毫秒。 如果您上传 DateTimeOffset 亚毫秒精度的值,返回的值将向上舍入到毫秒(例如,2015-04-15T10:30:09.7552052Z 将返回为 2015-04 -15T10:30:09.7550000Z)。将带有时区信息的 DateTimeOffset 值上传到索引时,Azure 认知搜索会将这些值标准化为 UTC。例如,2017-01-13T14:03:00-08:00 将存储为 2017-01-13T22:03:00Z。如果您需要存储时区信息,则需要在索引中添加一个额外的字段。

    您可以将日期时间格式更改为:

    yyyy-MM-ddTHH:mm:ssZ
    

    例如:"date": "2020-09-25T04:00:00Z"

    【讨论】:

      猜你喜欢
      • 2021-05-17
      • 2021-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-24
      • 2011-02-10
      • 1970-01-01
      相关资源
      最近更新 更多