我创建了一个应用程序,它列出了 Azure 存储容器中的所有文档,并让用户标记要删除的特定文件。
这是一个 Azure 搜索应用程序,因此该过程是将“已删除”元数据属性添加到所选文件,运行索引器以从索引中删除该信息,然后物理删除文件。
这是该过程的代码:
serviceClient.Indexers.Run(documentIndexer);
var status = serviceClient.Indexers.GetStatus(documentIndexer).LastResult.Status;
// Loop until the indexer is done
while (status == IndexerExecutionStatus.InProgress)
{
status = serviceClient.Indexers.GetStatus(documentIndexer).LastResult.Status;
}
// If successful, delete the flagged files
if (status == IndexerExecutionStatus.Success)
{
DeleteFlagged();
}
一切正常,但前提是我在 DeleteFlagged() 调用上设置断点,有效地强制在运行索引器和删除文件之间产生延迟。
没有暂停,索引器返回成功,我删除了文件,但文件内容尚未从索引中删除 - 它们仍显示在搜索结果中(文件已被物理删除)。
在删除之前我还需要检查其他内容吗?