我一次向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分钟。有什么方法可以优化它吗?
答案 0 :(得分:1)
如果您的脚本在文档与文档之间只有因子/参数不同,那么您可以创建适当的存储脚本,然后在部分更新中使用它,每个文档都有唯一的参数值。这种方式弹性不会因为每个文档的脚本重新编译而烦恼,批量请求的字节有效负载将会明显变小。