Code:
Question:
Remarks:
actions = [ {
'_index' : indexname,
'_type' : projectname,
'_id' : d['P']['R'],
'_source' : d
}
for d in data_package
]
helpers.bulk(es, actions)
Question:
- 如果index本身不存在,可以正常创建index并插入数据。
- 如果index本身存在,运行后不报错,但无法更新数据(ES/Kibana端未看到更新的数据)。
- 指定_op_type为'update'后也是一样的结果,不报错但无法更新。
Remarks:
- 数据量并不大,index中已有大概2000条数据,待更新量约700条。
5 个回复
JackGe
赞同来自:
laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net
赞同来自:
java的一次拍错如下:https://blog.csdn.net/laoyang3 ... 57798
zqc0512 - andy zhou
赞同来自:
这玩意依赖ES接口太多。
medcl - 今晚打老虎。
赞同来自:
xingpan - 90后it男
赞同来自:
依然无法更新。
然后我采用了 bulk里面执行 yield delete + yield index,
依然是原来的数据。
这里确认了mysql数据已经更新:
再次确认了
pymysqlreplication, update时候,打印了after_values数据。
查看es数据
我知道es delete是标记删除,使用 delete + index 后,无法查询到数据, 加上index后,为何数据依然不变?
就有种”吃shi“一样的难受