我有多个并发进程(确切地说是两个)将索引到相同的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索引?