Azure Search with Azure DocumentDB indexing error: _ts column not present

Azure Search with Azure DocumentDB indexing error: _ts column not present

当我创建 Azure 搜索索引时,在我 运行 编辑查询后重新索引后它失败了。

重现,

  1. 使用 SELECT c.id, c.Text from c
  2. 创建索引
  3. 运行 索引 500 多条数据,并成功执行。
  4. 在 Azure 门户中,将 Azure 搜索数据源查询编辑为 SELECT c.id, c.Text from c WHERE c._ts >= @HighWaterMark ORDER BY c._ts 为了让它检测更新的数据。
  5. 运行 索引,并且 失败 并显示以下错误消息。

The data change detection policy is configured to use column '_ts', but that column is not present in the data source.

我可以在 Portal 的 Azure DocumentDB 中看到 _ts 值(当然,它是由 Azure DocumentDB 自动生成的)。但是怎么了?

我是否必须为 @HighWaterMark 删除并重新创建数据源?

在您的 SELECT 子句中包含 _ts:

SELECT c.id, c.Text, c._ts from c WHERE c._ts >= @HighWaterMark ORDER BY c._ts