使用嵌套在弹性搜索中锁定单个文档

时间:2015-02-03 16:28:26

标签: elasticsearch nest

我正在寻找一个在弹性搜索中锁定文档的好例子。以下链接说明了如何在elasticsearch中执行此操作。

http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/concurrency-solutions.html

我如何使用NEST实现这一目标。有人可以提出一个方法来开始。

1 个答案:

答案 0 :(得分:2)

开始,请阅读NEST Quick Start article。特别要注意以下几点:

  

NEST是一个高级弹性搜索客户端,仍然与原始的elasticsearch API非常接近。请求和响应已映射到CLR对象,NEST还附带强大的强类型查询dsl。

另外考虑一下,您可能不需要NEST提供的附加抽象级别,并且可能更喜欢直接使用Elasticsearch.NET。另请阅读,它自己的Quick Start article

考虑到这一点,使用NEST / Elasticsearch.NET实现Solving concurrency issues article中的步骤只需要确定与必要的Elasticsearch API方法相对应的.NET方法。第一个例如:

PUT /fs/lock/global/_create
{}

在NEST看起来像:

var createGlobalLockResponse = esClient.Index<object>(new object(), f => f
    .Index("fs")
    .Type("lock")
    .Id("global")
    .OpType(global::Elasticsearch.Net.OpType.Create));

关于检查&#34;此创建请求是否因冲突异常而失败&#34;,请检查createGlobalLockResponse对象上的属性。特别是Created,如果您打算在处理方面更具体一点,ServerError