2016-11-21 51 views
1

我已閱讀Azure搜索上的excellent feedback。然而,我必須更清楚地詢問一個來自該列表的問題#1的答案...Azure搜索|索引更新的總排序

...當您索引數據時,它不可用於立即查詢。

...目前沒有機制來控制索引中同一文檔的併發更新。

最終的一致性很好 - 我執行一些更新,最終我會在讀取/查詢時看到我的更新。

但是,無法保證更新的順序真的有問題。也許我誤解讓我們假設這個基本情況:

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

目前,Azure Search不提供文檔級樂觀併發,主要是因爲絕大多數場景不需要它。請投票給External Version UserVoice suggestion以幫助我們優先處理此問題。

今天管理數據入口併發的一種方法是使用Azure Search indexers。索引者保證他們在每個時間點只處理源文檔的當前版本,消除競爭的可能性。

+0

但寫入順序和樂觀併發之間還是有區別的。我想你對兩者都說不,而且如果有足夠的客戶投票支持,OCC是最終的解決方案? – Jmoney38

+0

是的。如果我們公開文檔版本,它可能會作爲單調增加的版本用於寫入排序。 –

1

如果您發出多個併發請求,則訂購未知,因爲您無法預測它們將以何種順序到達服務器。

如果按順序發佈索引批處理(即僅在您從第一批次的服務中看到ACK後才啓動第二批次),則不應該看到重新排序。