我正在使用elasticsearch并通过NEST驱动程序从C#访问它。我需要通过NEST驱动程序对正在添加和更新的文档进行一些并发控制。这里有一个指向相应elasticsearch特性的链接,但是我找不到关于如何在NEST驱动程序中使用文档版本控制的任何信息。
我试图设置一个映射,希望“_version”属性能够从索引文档反序列化(不序列化),但没有成功。
有人能做我想做的事吗?这可能吗?
_version
是一个元数据属性,您可以使用result.documentswithmetadata
访问该属性,它公开IEnumerable
,并且hit
具有.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的C#NEST客户端执行此操作的正确方法? 问题答案: 我已使用以下方法通过NEST成功更新了Elasticsearch索引中的现有项目。请注意,
问题内容: 我在让NEST的DeleteByQuery方法工作时遇到了一些困难。 很简单,查询永远找不到要删除的内容,我也不知道为什么。我正在使用相同的查询来返回记录(使用搜索),并且一切正常。 我只是刚刚开始使用NEST,所以我确定这是一个非常简单的问题,而且我有点昏暗! 任何帮助/建议,不胜感激。 问题答案: 的是上的.NET方法支票是否相等。 如果您更改对它的呼叫,则应该可以使用。
问题内容: 有没有人有使用更新的示例?它已在此处进行了文档记录,但是文档尚不清楚,并且不包含有效的示例。我尝试了以下方法: 我得到 我想使用部分文档进行更新,但是update方法不使用任何名为“ doc”或“ document”的参数。 问题答案: 您快要准备好了,只需要将您的身体放在“ doc”字段中即可。使用elasticsearch-py进行部分更新的正确方法如下:
Unix was not designed to stop you from doing stupid things, because that would also stop you from doing clever things. — Doug Gwyn 你曾经遇到过误删除了某些文件而又希望恢复的情形吧? 本书中提及的最重要的技巧就是将 Puppet 的 配置清单(manifests)纳入像
我目前有一个定期修订的文档,我想通过保存文档的每个旧版本来跟踪文档。因此,如果文档A有一个摘要和更新日期,我想在每次更新后,保留以前的版本及其更新数据。 问题是,我不确定该如何有效地做到这一点: 问题是,如果我将键作为值,那么自动生成的模式将把所有日期作为可能的键。这不是你想要的。 所以我的问题是在ElasticSearch中按日期跟踪所有修订的最有效方法是什么?
问题内容: 我正在尝试使用Nest将多个记录插入数据库。使用IndexMany类插入确实可以,但是我还需要通过json字符串插入对象。 我确实在github上进行了查找,并找到了一些如何使用RAWclient的示例。在代码示例下面,我插入json。 一些其他信息: jsondata: var twitter: 我从数据库收到的结果: 有人知道这个问题可能是什么吗?还是我在json /代码中丢失了什