Azure搜索FindFailedActionsToRetry返回空操作?

时间:2017-08-18 19:47:43

标签: azure azure-search azure-search-.net-sdk

我正在测试c#客户端上的FindFailedActionsToRetry函数进行azure搜索,但我没有得到预期的结果。

在我的函数中,我尝试索引批处理,我有一个处理IndexBatchException的try-catch。 我在捕获内部:

var retryBatch = e.FindFailedActionsToRetry(batch, id => id["Identifier"].ToString());

我第一次索引:  999 out of the 1000 documents failed to index(预期)。

然后我尝试再次索引批处理,但不是抛出相同的indexbatchexception(因为我故意将merge设置为原始1k文档的操作),我得到另一个例外:< / p>

The request is invalid. Details: actions : No indexing actions found in the request. Please include between 1 and 1000 indexing actions in your request.

为什么FindFailedActionsToRetry函数没有返回正确结果的任何想法?或者也许我做错了什么?

修改

为了显示更多上下文,当我展开我创建的包含retrybatch对象的IndexBatch对象时,我可以看到Actions。然后我进一步展开,点击结果视图,我得到:Enumeration yielded no results

我第一次发送的原始批次确实已经重新开始。事实上,我可以看到:行动,文件。行动,文件等

为什么我没有看到任何结果?

1 个答案:

答案 0 :(得分:1)

您正在以一种非瞬态的方式引发索引失败,因此不可重复。 FindFailedActionsToRetry非常聪明,可以检测到这一点。请查看ShouldRetry方法in the code