【发布时间】:2023-03-26 20:37:01
【问题描述】:
我想在 Elasticsearch 中合并一些数据,但每次它都是替换我以前的数据而不是合并它。
假设当 i new 被创建时,它应该添加以前的数据,而不是替换以前的数据。因此,假设在名为“Christofer”的“update_field”中存在一个用户,所以当我 array_merge($usernames) 其中 $usernames 包含一个或几个用户名时,它总是替换以前的数据。
我正在研究 PHP。
$usernames= array ("Johanna", "Maria");
$doc = array();
$doc['update_field'] = array_merge($usernames);
$u_params = array();
$u_params['id'] = 'my_id';
$u_params['index'] = 'my_index';
$u_params['type'] = 'my_type';
$u_params['body'] = array('doc' => $doc);
$client->update($u_params);
为了更清楚,例如,假设在用户名字段中有几个用户名存在 - 例如 - “Christofer”、“Henrik”、“Eric”。
所以现在我想添加更多用户,例如 - “Johanna”、“Maria”、...
现在,每次我合并和更新文档时,它都会替换数据,例如(“Christofer”、“Henrik”、“Eric”)被替换为(“Johanna”、“Maria”)。
我希望它们被添加而不是被替换。
有没有人知道我如何合并新数据,或者只是其他进程中的新数据。提前致谢。
【问题讨论】:
标签: php arrays elasticsearch merge array-merge