【发布时间】:2020-10-21 00:12:45
【问题描述】:
我有基于 Cosmos Db 的 Azure 搜索索引。当我的数据源配置为没有自定义查询(索引器在每次运行时只抓取新数据)时,所有这些都发挥了作用。
现在我需要定义如下查询:
SELECT c.id, 1 as itemType, c._ts FROM c WHERE c._ts >= @HighWaterMark ORDER BY c._ts
问题是每次我的索引器运行时都会收集一个完整的数据源。数据源4000条,新增5条,数据不变。
我发现使用以下查询尊重以前的进度(索引器的工作方式与没有查询时一样):
SELECT * FROM c WHERE c._ts >= @HighWaterMark ORDER BY c._ts
我还尝试将@HighWaterMark 作为我的字段之一加载,发现@HighWaterMark 始终为-1。
更新
我的数据是不可更改的。因此我没有使用数据变化检测策略。但是启用此策略会使索引器按预期工作。我没有在 Microsoft 文档中找到有关策略和索引器工作之间这种依赖关系的任何信息。
【问题讨论】:
标签: azure azure-cognitive-search azure-cognitive-services