我正在使用elasticsearch並通過NEST驅動程序從C#訪問它。我需要對我通過NEST驅動程序添加和更新的文檔進行一些併發控制。 Here是指向相應彈性搜索功能的鏈接,但我無法找到關於如何使用NEST驅動程序使用文檔版本的任何信息。elasticsearch使用NEST:如何使用文檔版本控制?
我試圖設置一個mapping,希望「_version」屬性可以從索引文檔(沒有序列化)反序列化,但沒有運氣。
有人能夠做我想做的事嗎?這甚至有可能嗎?
我正在使用elasticsearch並通過NEST驅動程序從C#訪問它。我需要對我通過NEST驅動程序添加和更新的文檔進行一些併發控制。 Here是指向相應彈性搜索功能的鏈接,但我無法找到關於如何使用NEST驅動程序使用文檔版本的任何信息。elasticsearch使用NEST:如何使用文檔版本控制?
我試圖設置一個mapping,希望「_version」屬性可以從索引文檔(沒有序列化)反序列化,但沒有運氣。
有人能夠做我想做的事嗎?這甚至有可能嗎?
_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文檔我一直沒能找到關於如何指定在GET
和Script Update
預期版本一提API。將不得不深入潛水,以確保它不需要那裏。
http://www.elasticsearch.org/blog/2011/02/08/versioning.html上提到的op_type
創建不受支持,也將在下一版本中獲得。
對於那些後來寫到的關於在Elasticsearch和NEST中使用樂觀併發的文章 - http://forloop.co.uk/blog/optimistic-concurrency-with-elasticsearch-and-nest –
優秀文章。這正是我近3年前遇到這個問題時所做的。我甚至創作了NEST的OpType支持以使其工作。很高興有人認爲它有用。 –