Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch Elasticsearch更新竞态条件?_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch Elasticsearch更新竞态条件?,elasticsearch,elasticsearch" /> elasticsearch Elasticsearch更新竞态条件?,elasticsearch,elasticsearch" />

elasticsearch Elasticsearch更新竞态条件?

elasticsearch Elasticsearch更新竞态条件?,elasticsearch,elasticsearch,我有一个ES索引,其中包含以下格式的文档: REQUEST: GET /users/_doc/1 RESPONSE: { "name": "Foo", "num_followers": 123456, "num_photos": 123456 } 假设我有两个过程几乎同时更新同一文档: REQUEST 1: POST /users/_doc/1/_update { "script": { "source": "ctx._source.name

我有一个ES索引,其中包含以下格式的文档:

REQUEST: 
GET /users/_doc/1

RESPONSE:
{
    "name": "Foo",
    "num_followers": 123456,
    "num_photos": 123456
}
假设我有两个过程几乎同时更新同一文档:

REQUEST 1:
POST /users/_doc/1/_update
{
    "script": {
        "source": "ctx._source.name = 'Bar'"
    }
}


REQUEST 2:
POST /users/_doc/1/_update
{
    "script": {
        "source": "ctx._source.num_followers = 0"
    }
}
其中一个请求将首先命中集群。ES如何处理第二个到达的请求?是否存在一些内部队列/时间戳逻辑,以确保所有更新都按顺序修改文档,并且不会丢失任何请求


此外,实现某种批处理逻辑来处理我端的请求排序,并向ES发出一个更新调用,这对我有好处吗?还是没有必要?

关于elasticsearch不太确定,例如solr有内置的锁机制,请参阅此链接:假设锁机制是Lucene库的一个功能(这对于solr和elasticsearch都很常见),我怀疑elasticsearch可能与solr有很多共同之处。不确定elasticsearch,例如solr有内置的锁机制,请参阅此链接:假设锁机制是Lucene库的一个功能(这对于solr和elasticsearch都很常见),我怀疑elasticsearch可能与solr有很多共同之处