Elasticsearch 8.x Python版update_aliases()关键字参数用法问询
Elasticsearch 8.x 中 update_aliases() 的关键字参数用法
你遇到的问题是因为Elasticsearch 8.x的Python客户端彻底移除了位置参数支持,所有API方法必须使用关键字参数传递数据。
原来的ES7代码是将包含actions的字典作为位置参数直接传入,ES8要求显式指定参数名,有两种写法可选:
写法一:显式指定 body 关键字参数
es_client.indices.update_aliases( body={ "actions": [ {"remove": {"index": index1, "alias": index_alias}}, {"add": {"index": index2, "alias": index_alias}} ] } )
写法二:直接使用 actions 关键字参数(更简洁)
ES8客户端针对该API提供了简化参数,无需嵌套在body的actions键下:
es_client.indices.update_aliases( actions=[ {"remove": {"index": index1, "alias": index_alias}}, {"add": {"index": index2, "alias": index_alias}} ] )
两种写法均能正常运行,可根据习惯选择。
内容的提问来源于stack exchange,提问作者Madhu
相关产品推荐
相关产品推荐

