我正在寻找一个在弹性搜索中锁定文档的好例子。以下链接说明了如何在elasticsearch中执行此操作。
http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/concurrency-solutions.html
我如何使用NEST实现这一目标。有人可以提出一个方法来开始。
答案 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
。