Azure 搜索 |索引更新的总排序
Azure Search | Total ordering of index updates
我已在 Azure 搜索上通读了这篇 。但是,我必须更明确地质疑该列表中问题 #1 的答案...
...When you index data, it is not available for querying immediately.
...Currently there is no mechanism to control concurrent updates to the same document in an index.
最终一致性很好 - 我执行了一些更新,最终我会在 read/query 上看到我的更新。
但是,无法保证更新的顺序确实存在问题。也许我误解了让我们假设这个基本场景:
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”?
如果那是真的,似乎严重限制了该产品的适用性。
目前Azure Search不提供文档级乐观并发,主要是绝大多数场景不需要。请投票给 External Version UserVoice suggestion 以帮助我们确定此问题的优先级。
如今管理数据入口并发的一种方法是使用 Azure Search indexers。索引器保证它们在每个时间点只处理源文档的当前版本,从而消除了潜在的竞争。
如果您发出多个并发请求,则顺序未知,因为您无法预测它们到达服务器的顺序。
如果您按顺序发布索引批次(即,只有在您看到来自第一批服务的 ACK 后才启动第二批),您应该不会看到重新排序。
我已在 Azure 搜索上通读了这篇
...When you index data, it is not available for querying immediately.
...Currently there is no mechanism to control concurrent updates to the same document in an index.
最终一致性很好 - 我执行了一些更新,最终我会在 read/query 上看到我的更新。
但是,无法保证更新的顺序确实存在问题。也许我误解了让我们假设这个基本场景:
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”?
如果那是真的,似乎严重限制了该产品的适用性。
目前Azure Search不提供文档级乐观并发,主要是绝大多数场景不需要。请投票给 External Version UserVoice suggestion 以帮助我们确定此问题的优先级。
如今管理数据入口并发的一种方法是使用 Azure Search indexers。索引器保证它们在每个时间点只处理源文档的当前版本,从而消除了潜在的竞争。
如果您发出多个并发请求,则顺序未知,因为您无法预测它们到达服务器的顺序。
如果您按顺序发布索引批次(即,只有在您看到来自第一批服务的 ACK 后才启动第二批),您应该不会看到重新排序。