Azure搜索|索引更新的总排序

时间:2016-11-21 22:19:04

标签: azure azure-search eventual-consistency

我在Azure搜索上阅读了这个excellent feedback。但是,我必须更明确地质疑该列表中问题#1的答案......

  

...当您索引数据时,它不能立即查询。

     

...目前没有机制来控制索引中同一文档的并发更新。

最终的一致性很好 - 我执行了一些更新,最终我会看到我的读取/查询更新。

但是,不保证订购更新确实存在问题。也许我误解了让我们假设这个基本情景:

1) update index entry E.fieldX w/ foo at time 12:00:01
2) update index entry E.fieldX w/ bar at time 12:00:02

从我收集的内容来看,在完成所有更新后,E.fieldX完全有可能包含“foo”吗?

如果确实如此,则似乎严重限制了该产品的适用性。

2 个答案:

答案 0 :(得分:3)

目前,Azure Search不提供文档级乐观并发,主要是因为绝大多数情况都不需要它。请投票给External Version UserVoice suggestion以帮助我们确定此问题的优先顺序。

今天管理数据入口并发的一种方法是使用Azure Search indexers。索引器保证他们将在每个时间点仅处理源文档的当前版本,从而消除了比赛的可能性。

答案 1 :(得分:1)

如果您发出多个并发请求,则订单未知,因为您无法预测它们将以何种顺序到达服务器。

如果您按顺序发出索引批次(即,只有在您从第一批服务中看到来自服务的ACK后才开始第二批),您不应该看到重新排序。