当前位置:   article > 正文

Elasticsearch7批量更新字段值结合chartGpt解决问题_expected one of [inline], [file] or [stored] field

expected one of [inline], [file] or [stored] fields, but found none

场景:

现es日志中需要按照字段为 "microName"="数智可视化平台" 的数据都要更新历史字段serverTag、preview的值,网上博客看了一大堆没有正常的。

工具:

elasticsearch7 、postman

条件更新

按条件更新单个字段

  1. POST 192.168.XX.XX:9200/esbizlog/_update_by_query
  2. {
  3. "query": {
  4. "bool": {
  5. "must": [
  6. {
  7. "match_phrase": {
  8. "microName": "数智可视化平台"
  9. }
  10. }
  11. ]
  12. }
  13. },
  14. "script":{
  15. "inline": "ctx._source['preview']='true'"
  16. }
  17. }

按条件更新多个字段

  1. POST 192.168.XX.XX:9200/esbizlog/_update_by_query
  2. {
  3. "query": {
  4. "bool": {
  5. "must": [
  6. {
  7. "match_phrase": {
  8. "microName": "数智可视化平台"
  9. }
  10. }
  11. ]
  12. }
  13. },
  14. "script":{
  15. "inline": "ctx._source['preview']='true'; ctx._source['serverTag']='bi'"
  16. }
  17. }

测试

!!完美通过

案例验证:

网上博客大多数都是如下案例:

然后提示如下错误

  1. {
  2. "error": {
  3. "root_cause": [
  4. {
  5. "type": "parse_exception",
  6. "reason": "expected one of [inline], [file] or [stored] fields, but found none"
  7. }
  8. ],
  9. "type": "parse_exception",
  10. "reason": "expected one of [inline], [file] or [stored] fields, but found none"
  11. },
  12. "status": 400
  13. }

原因就是:在script中source和inline的用法没有搞清楚!!!

总结

chatGpt看一下两者有什么区别

不得不说 chartGpt真牛逼

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/67940
推荐阅读
相关标签
  

闽ICP备14008679号