我正在尝试进行单个查询来更新 ES 索引中的一个字段值。
我有一个索引pages
,其中包含有关页面的信息(id
、、、、name
等)time
parent_page_id
child_count
我可以parent_page_id
使用具有此页面的文档数量id
更新该字段parent_page_id
我可以使用默认的单个值更新字段,例如:
PUT HOST_ADDRESS/pages/_update_by_query
{
"script": {
"source": "def child_count = 0; ctx._source.child_count = child_count;",
"lang": "painless"
},
"query": {
"match_all": {}
}
}
我正在尝试使用此代码来获取孩子的数量,但它不起作用。
"source": "def child_count = 0; client.prepareSearch('pages').setQuery(QueryBuilders.termQuery("parent_page_id", "ctx._source.id")).get().getTotal().getDocs().getCount(); ctx._source.child_count = child_count;",
"lang": "painless"
我的问题是,我怎样才能script
在变量中进行子计数查询以使真正的子计数child_count