You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Cognitive Search:基于Blob自定义publishDate元数据实现新鲜度评分提升

问题解答

关于你的两个方案可行性

  • 方案1:不可行。Azure Blob存储的自定义元数据仅支持字符串类型,无法直接将publishDate设置为Edm.DateTimeOffset类型,所有自定义元数据字段都会以字符串形式存储。
  • 方案2:不可行。Azure Cognitive Search的评分配置中,新鲜度评分(freshness)仅支持直接作用于Edm.DateTimeOffset类型的字段,不支持在评分逻辑内先将字符串转换为日期类型再应用评分规则。

可行的解决办法

方法1:通过索引器字段映射转换日期类型

  1. 修改你的Azure Cognitive Search索引,新增一个类型为Edm.DateTimeOffset的字段(比如命名为publishDate_dt)。
  2. 在Blob索引器的字段映射中,添加转换规则,将字符串类型的publishDate元数据映射到新的日期字段。假设你的publishDate是ISO标准格式(如"2024-05-20T12:00:00Z"),映射配置示例如下:
    {
      "sourceFieldName": "metadata_custom_publishDate",
      "targetFieldName": "publishDate_dt",
      "mappingFunction": {
        "name": "convert",
        "parameters": {
          "type": "Edm.DateTimeOffset",
          "dateTimeStyles": "RoundtripKind"
        }
      }
    }
    
    如果你的日期格式是非ISO标准,可调整dateTimeStyles参数(比如用AdjustToUniversal等)适配格式。
  3. 重新运行索引器,完成数据的重新导入与字段转换。
  4. 在评分配置中,针对publishDate_dt字段设置新鲜度评分,示例配置:
    {
      "name": "freshnessBoost",
      "functions": [
        {
          "type": "freshness",
          "fieldName": "publishDate_dt",
          "boost": 8,
          "parameters": {
            "boostingDuration": "P180D"
          }
        }
      ]
    }
    

方法2:通过技能集处理复杂日期格式

如果你的publishDate格式多样,字段映射的convert函数无法解析,可以创建一个Azure Cognitive Search技能集,使用内置的日期识别技能或者自定义技能来解析字符串日期,将其转换为标准的Edm.DateTimeOffset格式后存入索引字段,之后再配置新鲜度评分。

内容的提问来源于stack exchange,提问作者frmrIntern

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 00:48:23