在kibana中得console中我可以用如下代码进行bulk中的更新操作
我遇到的问题主要有:
1. 不会用python拼接成
2. python中的bulk的各项参数怎么设置,我这样设置是不是错的?
如果有例子的话,就更好了。
post _bulk
{"update":{"_id":"1","_index":"ecommerce","retry_on_conflict" : 3}}
{"doc":{"price7":"1991999","price":9999,"price8":8899988}}
{"update":{"_id":"11","_index":"ecommerce","retry_on_conflict" : 3}}
{"doc":{"price7":"112222","price":9999,"price8":9999}}
但是在python中,如何使用bulk方法?我遇到的问题主要有:
1. 不会用python拼接成
{"update":{"_id":"1","_index":"ecommerce","retry_on_conflict" : 3}}
{"doc":{"price7":"1991999","price":9999,"price8":8899988}}
{"update":{"_id":"11","_index":"ecommerce","retry_on_conflict" : 3}}
{"doc":{"price7":"112222","price":9999,"price8":9999}}
这种格式的数据2. python中的bulk的各项参数怎么设置,我这样设置是不是错的?
from elasticsearch import Elasticsearch
import pandas as pd
es = Elasticsearch()
i = 1
actions = []
df = pd.DataFrame(data={"id":[1,11],"price":[1314,7758],"price7":[7777,8888]})
print(df)
for id_a in range(0,len(df)):
action = {
"_op_type":"update",
"_index":"ecommerce",
"_type":"_doc",
"_id":str(df.loc[id_a,"id"]),
"doc":{
"price7":str(df.loc[id_a,"price7"]),
"price":int(df.loc[id_a,"price"])
}
}
actions.append(action)
print(actions)
result = es.bulk(body=actions, index="ecommerce")
如果有例子的话,就更好了。
1 个回复
hjchyp - 90后自学成才
赞同来自: