2

我正在使用 elasticsearch 并通过 NEST 驱动程序从 C# 访问它。我需要对通过 NEST 驱动程序添加和更新的文档进行一些并发控制。是相应弹性搜索功能的链接,但我无法找到有关如何将文档版本控制与 NEST 驱动程序一起使用的任何信息。

我试图设置一个映射,希望“_version”属性将从索引文档中反序列化(不序列化),但没有运气。

有没有人能够做我想做的事?这甚至可能吗?

4

1 回答 1

2

_version是一个元数据属性,您可以使用它访问它,result.DocumentsWithMetaData它公开一个IEnumerable<Hit<YourDto>>并且Hit<YourDto>>具有一个.Version属性。

如果没有指定,Elasticsearch 会自动增加版本号。

您可以在索引此处查看测试时指定自己的预期版本: https ://github.com/Mpdreamz/NEST/blob/master/src/Nest.Tests.Unit/Core/Versioning/VersioningTests.cs

从 ES 文档中,我无法找到有关如何在GETScript UpdateAPI 上指定预期版本的提及。必须深入研究以绝对确定那里不需要它。

不支持http://www.elasticsearch.org/blog/2011/02/08/versioning.htmlop_type上提到的创建,也将在下一个版本中使用。

于 2012-12-18T11:49:39.490 回答