Elasticsearch批量更新脚本非常慢

时间:2017-01-03 15:33:55

标签: php elasticsearch

我一次向Elasticsearch发送1000张Bulk API

我有一个场景,我想更新文档中的字段,这相当于同一文档中两个字段的乘法。以下是我通过PHP客户端构建查询的方法

{ "update" : { "_id" : "0", "_type" : "type1", "_index" : "index1"} }
{ "script" : { "inline": "ctx._source.x=ctx._source.y*ctx._source.z"} }

我正在使用PHP客户端,一次发送1000个。

共计185000条记录,需要30分钟。有什么方法可以优化它吗?

1 个答案:

答案 0 :(得分:1)

如果您的脚本在文档与文档之间只有因子/参数不同,那么您可以创建适当的存储脚本,然后在部分更新中使用它,每个文档都有唯一的参数值。这种方式弹性不会因为每个文档的脚本重新编译而烦恼,批量请求的字节有效负载将会明显变小。