php - 我不能在弹性搜索中嵌套添加
问题描述
当我在邮递员中发送使用 elasticseach 脚本添加嵌套对象的请求时,elasticsearch 出现问题,但当我想发送在 elasticseach 中添加新对象的请求时,我的索引中的所有对象都消失了。它不起作用,这消除了 elasticsearch 中的所有其他对象,只添加自己:
$params = [
'script' => [
'source' => 'ctx._source.products.add(params.products)',
'lang'=>'painless',
'params' =>['id'=>1,'name'=>'john']
]
];
$http = new Client();
$result = $http->request('post','http://my_server/new_frotel/_update/123', [
'body' =>$params,
'headers'=>[
'content-type'=>'application/json'
]
])
但它在邮递员中工作
POST : http://my_server/new_frotel/_update/123
{
"script": {
"source": "ctx._source.products.add(params.products)",
"lang": "painless",
"params": {
"products": {
"id":1,
"name":"john"
}
}
}
}
解决方案
推荐阅读
- web-services - java.lang.IllegalArgumentException:接口 org.apache.cxf.endpoint.Client 在类加载器中不可见
- docker - 无法连接到 aws 实例上的 mongodb docker 容器
- html - 在幻灯片左侧获取更多图像
- windows - 尽管删除了 Windows 环境变量,但仍会继续加载
- windows - TFS 版本 - 使用哪个 Windows 用户帐户?
- angular - TemplateRef 和点击事件
- go - gRPC 可以支持 `x-www-form-encoded` 数据吗?
- mysql - MySQL - 如果不存在,则使用子查询插入
- c# - 无法解决错误“IMvxViewModel”不包含“PropertyChanged”的定义)
- c# - datagridview 可见网格线,即使没有数据 c#