【发布时间】:2020-06-03 02:49:31
【问题描述】:
我的数据源不能是单个表,因为我需要跨越 6 个表的数据。为此,我创建了一个在这些表上进行连接的视图。 当我使用这个视图作为数据源时,索引需要很多时间并且超时。我尝试将超时时间增加到 40 分钟,并提出了另一项更改建议:
“disableOrderByHighWaterMarkColumn”:真
它超时了。我还设置了批量大小:1000。这次它填充了索引,但在几个小时后失败,说“连接丢失”。并“感谢”禁用OrderByHighWaterMarkColumn,如果我再次重新运行索引器,它将再次处理所有行。
我的问题是解决这个问题的最佳方法是什么。
后续问题:由于我依赖于视图,因此我无法进行自动更改跟踪。我正在使用高水印列 (LastUpdatedTime) 来跟踪我的视图中的更改。我只想在我的索引中保留 6 个月的数据,所以我不确定在使用 View 时如何做到这一点。我的视图中已经有“where CreateDateTime > dateadd(month, -6, getdate())”子句,但这不会使 Indexer 从索引中删除“out-of-time-window”行(文档)。我怎样才能在这里实现我的目标? 我是否应该编写一个处理器任务来定期使用 C# SDK 查询所有文档并根据日期删除文档?
【问题讨论】: