【问题标题】:lock individual documents in elastic search using nest使用嵌套在弹性搜索中锁定单个文档
【发布时间】:2023-03-21 16:44:01
【问题描述】:

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

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

我如何使用 NEST 来实现这一点。有人可以建议一种方法吗?

【问题讨论】:

    标签: elasticsearch nest


    【解决方案1】:

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

    NEST 是一个高级弹性搜索客户端,它仍然非常接近原始弹性搜索 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));
    

    关于“此创建请求是否因冲突异常而失败”的检查,检查createGlobalLockResponse对象的属性。特别是Created,如果您打算更具体地处理,ServerError

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-15
      • 2016-04-25
      • 2015-06-01
      相关资源
      最近更新 更多