选择并更新所有匹配的文档

时间:2019-05-07 17:26:01

标签: elasticsearch

我们正在尝试执行以下操作,我们将不胜感激。 假设您进行搜索,并且有100,000个文档匹配。 我们想在每个匹配的文档中增加一个计数器。然后同时选择首页,例如前50页。

这可以一次完成,也可以是并行的情况。

3 个答案:

答案 0 :(得分:0)

您可以尝试多次搜索查询来进行此类操作: https://www.elastic.co/guide/en/elasticsearch/reference/current/search-multi-search.html

基本上,您可以在一次多重搜索中添加多个查询,这些查询在ES端并行进行,并为每个查询返回响应列表。

答案 1 :(得分:0)

您可以使用NEST通过查询使用更新。如果您仍然遇到任何问题,请告诉我。

答案 2 :(得分:0)

您可以使用按查询更新:

{
 "script": { 
     // fieldName is field you want to increment in document
    "source": "ctx._source.fieldName=params.val", // counter increment by when query match
    "lang": "painless",
    "params": {
        "i": 0,
        "val": i+1,
    }
},
"query": {
      // your match condition
    }
}