Azure 搜索索引 - 管理数据库每 24 小时删除/替换时的索引器?

标签 azure azure-cognitive-search

我们在 Azure SQL 数据库上设置了一个 Azure 搜索索引,其中包含约 270 万条记录,所有记录均包含在一个 Capture 表中。每天晚上,我们的数据抓取工具都会抓取最新数据,截断捕获表,然后重写所有最新数据 - 其中大部分将是刚刚截断的数据的重复项,但包含少量新数据。由于每条记录的几个字段中存在大量非结构化数据,我们没有任何可行的方法每天只写入新记录。

在这种情况下我们应该如何最好地管理我们的索引?按计划运行索引器需要您指示此“高水位线列”。由于我们数据库的性质(每天删除/替换一次),我们没有任何适用于此的列。此外,我们的 Azure 搜索索引真正需要做的是,它还需要进行完整的每日删除/替换,或者采用其他方法,这样我们就不会每天向索引添加 270 万条重复记录。前者可能对我们不起作用,因为索引整个数据库至少需要 4 小时。在这 4 小时内,客户(全局)可能没有完整的数据集可供查询。

Azure 搜索的人可以在这里提出建议吗?

最佳答案

每天实际变化的数据比例是多少?如果该比例很小,则无需重新创建搜索索引。只需在重新创建 SQL 表后重置索引器,然后触发重新索引(重置索引器会清除其高水位线状态,但不会更改目标索引)。尽管可能需要几个小时,但您的索引仍然存在,且数据集基本完整。据推测,如果您每天更新一次数据集,您的客户可以容忍数小时的延迟来获取最新数据。

关于Azure 搜索索引 - 管理数据库每 24 小时删除/替换时的索引器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43600576/

相关文章:

azure - 我应该如何使用 .net core c# 从死信中读取更多数量的消息?

azure - Azure 搜索基本中是否禁止 OPTIONS 请求?

Azure 搜索 - 仅返回字段中一定数量的单词

azure-cognitive-search - 更新/添加/删除 Azure 搜索索引字段的最佳实践

python-3.x - 在 Azure Functions 的脚本中导入 python-tabular 时出现错误

azure - 仅更新插入更改/新字段?

azure Entity Framework : what does a connection string usually look like to login?

azure - 为什么下载的 apk 文件会被缓冲并给用户提供旧版本

c# - 将 AzureSearch SDK 与 30-40 个 ISearchIndexClient 的静态字典结合使用的影响

Azure 认知搜索 - 语义搜索配置错误