我有多個併發進程(確切地說是兩個)將索引到相同的ID。假設索引操作I0
先完成,然後索引操作I1
。有可能I1
將在I0
之前被索引。無論先索引,I1
應優先搜索。如果id已經存在,如何失敗ElasticSearch索引操作?
1
A
回答
1
您可以向可更新的可選version
提供可與其version_type
關聯的更新,以確保只使用一個。
補充公佈其文檔中的例子,你可以這樣做手工,如:
curl -XPUT 'localhost:9200/twitter/tweet/1?version=1&version_type=external' -d '{
"message" : "elasticsearch now has versioning support, double cool!"
}'
對於external
一個version_type
,您可以:
僅索引文件如果給定的版本嚴格高於 存儲文件的版本或者是否存在 文件。給定的版本將被用作新版本,並將 與新文檔一起存儲。
這也許值得指出的是內部版本開始於1
。
1
根據http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/docs-index_.html,版本控制可用於此目的。請確保將I0
的版本設置爲小於I1
的版本。
相關問題
- 1. ElasticSearch創建索引,索引已經存在異常
- 2. 如果在索引已經運行時運行ElasticSearch索引會發生什麼?
- 3. 如果某個工件已經存在,如何使Maven構建失敗
- 4. Mongodb如果添加新的索引已經存在的集合
- 5. 如果已經存在
- 6. Elasticsearch:如何獲得曾經存在的所有索引
- 7. 錯誤「操作失敗,因爲索引或統計信息的名稱X上表已經存在Ÿ
- 8. 操作失敗,因爲名爲'IX_ID'的索引或統計信息已經存在於'TestAs'表上?
- 9. 操作失敗,因爲索引或統計信息的名稱已經存在於表EF6.1
- 10. 操作失敗,因爲表'Bids'上已經存在名爲'IX_AuctionId'的索引或統計信息
- 11. 當ID已經存在時創建失敗
- 12. 的RegisterClass失敗:類已經存在
- 13. 如何重新創建一個索引,如果它已經與liquibase存在
- 14. 如果git-am失敗,「索引中不存在」怎麼辦?
- 15. ElasticSearch索引/巢插入失敗
- 16. 回滾,如果一個操作失敗
- 17. ElasticSearch索引文檔在現有索引上失敗
- 18. 如何索引Riak中已經存在的對象
- 19. MongoDB的索引已經存在
- 20. 如何從elasticsearch中的索引獲取索引id編號
- 21. 如何elasticsearch獲取並從其索引操作查詢
- 22. 如何爲每個索引文檔操作提供elasticsearch TTL?
- 23. 更新/替換行,如果相同的ID已經存在
- 24. 插入數據,更新如果「ID」的存在已經
- 25. 遷移失敗,因爲索引名已存在
- 26. 如果已經連接到MySQL,PHP mysql_real_escape_string()是否會失敗?
- 27. shutil.move如果目錄已經存在
- 28. Phonegap - 如果數據庫已經存在
- 29. CRM 2013導入操作失敗:Id = [GUID]的sdkmessage不存在
- 30. 如何加速ElasticSearch索引?