初学Elasticsearch,在按照《Elasticsearch服务器开发(第2版)》进行学习的过程中,在P17页中1.4.5 更新文档小节,使用脚本对文档进行局部更新的时候遇到了如下报错:

  ~ curl -XPOST http://127.0.0.1:9200/blog/article/1/_update -d '{"script": "ctx._source.content=\"new content\""}'
{"error":{"root_cause":[{"type":"remote_transport_exception","reason":"[Lady Mandarin][127.0.0.1:9300][indices:data/write/update[s]]"}],"type":"illegal_argument_exception","reason":"failed to execute script","caused_by":{"type":"script_exception","reason":"scripts of type [inline], operation [update] and lang [groovy] are disabled"}},"status":400
}%

我根据提示中的原因"scripts of type [inline], operation [update] and lang [groovy] are disabled"进行了查询,查到了官网文档关于对脚本更新的介绍(介绍链接)。

通过粗略查看文档,我发现要解决这个问题,需要在Elasticsearch的配置文件elasticsearch.yml中添加如下配置:

script.engine.groovy.inline.update: on

由于Elasticsearch默认使用的是Groovy语言。Groovy语言一个快速且功能丰富的脚本语言,语法类似于Javascript。它在一个沙盒(sandbox)中运行,以防止恶意用户毁坏Elasticsearch或***服务器。
由于默认Elasticsearch没有打开Groovy的update权限,因此我们无法通过Groovy进行更新操作,通过上述配置打开权限之后,就可以进行更新操作了。

 ~ curl -XPOST http://127.0.0.1:9200/blog/article/1/_update -d '{"script": "ctx._source.content=\"new content\""}'
{"_index":"blog","_type":"article","_id":"1","_version":2,"_shards":{"total":2,"successful":1,"failed":0}
}%

ES使用脚本进行局部更新的排错记录相关推荐

  1. es中document的主键id及局部更新

    很多介绍es的文章,都会说一下lucene的不足,其中两条有迷惑: 1. lucene的document没有全局唯一的主键id 2. lucene不支持更新. 疑惑点1:没有主键id. 可以用luce ...

  2. es数据频繁的更新_Elasticsearch之更新(全部更新和局部更新)

    前面的基础, 首先,明确一个概念,es包括全部更新和局部更新! ES全部更新 ES可以使用PUT或者POST对文档进行更新(全部更新),如果指定ID的文档已经存在,则执行更新操作. 比如,我这里,id ...

  3. [Unity脚本运行时更新]C#7新特性

    洪流学堂,让你快人几步!本文首发于洪流学堂微信公众号. 本文是该系列<Unity脚本运行时更新带来了什么?>的第5篇. 洪流学堂公众号回复runtime,获取本系列所有文章. Unity2 ...

  4. [Unity脚本运行时更新]C#4新特性

    洪流学堂,让你快人几步!本文首发于洪流学堂微信公众号. 本文是该系列<Unity脚本运行时更新带来了什么?>的第2篇. 洪流学堂公众号回复runtime,获取本系列所有文章. Unity2 ...

  5. Unity脚本运行时更新带来了什么?

    洪流学堂,让你快人几步!本文首发于洪流学堂微信公众号. 本文是该系列<Unity脚本运行时更新带来了什么?>的第一篇,后续会结合Unity实例介绍C# 4 - C# 6都带来了具体哪些变化 ...

  6. WebApiClient的JsonPatch局部更新

    1. 文章目的 随着WebApiClient的不断完善,越来越多开发者选择WebApiClient替换原生的HttpClient,本文将介绍使用WebApiClient来完成JsonPatch提交的新 ...

  7. [Unity脚本运行时更新]C#7.3新特性

    洪流学堂,让你快人几步!本文首发于洪流学堂微信公众号. 本文是该系列<Unity脚本运行时更新带来了什么?>的第8篇. 洪流学堂公众号回复runtime,获取本系列所有文章. Unity2 ...

  8. [Unity脚本运行时更新]C#7.2新特性

    洪流学堂,让你快人几步!本文首发于洪流学堂微信公众号. 本文是该系列<Unity脚本运行时更新带来了什么?>的第7篇. 洪流学堂公众号回复runtime,获取本系列所有文章. Unity2 ...

  9. [Unity脚本运行时更新]C#7.1新特性

    洪流学堂,让你快人几步!本文首发于洪流学堂微信公众号. 本文是该系列<Unity脚本运行时更新带来了什么?>的第6篇. 洪流学堂公众号回复runtime,获取本系列所有文章. Unity2 ...

最新文章

  1. 将一列数据转换成一个字段数据,逗号分隔
  2. Coding:从给定数字集中找到最大的数字
  3. 30秒就能学会一个Python小技巧?
  4. win7纯净版下载csdn_win10原版纯净版下载,安装技巧
  5. sql 百分数_SQL经典50题笔记
  6. beaninfo详解源码解析 java_Java后端精选技术:源码解析Spring Cloud Zuul
  7. ABAP中的F4帮助怎么用
  8. 如何在MySQL中设置主从复制
  9. MTK驱动(77)---Android getevent用法
  10. 【Kafka】Kafka BrokerEndPointNotAvailableException: End point with security protocol PLAINTEXT not
  11. 【java笔记】Stream流(1)你知道什么叫Stream流吗?
  12. 微服务架构实战篇(一):使用start.spring.io 构建SpringBoot2.0项目
  13. 移动光猫上插usb储存设备在终端系统中该如何设置才能共享里面的文件。新手,小白,求大神指点
  14. pytorch搭建分类网络并进行训练和测试
  15. Python测试题20道(含答案)
  16. 【操作系统】王道考研 笔记总结目录(完结)
  17. 可汗学院公开课: 统计学 _0 基本数学知识梳理
  18. 怎么注销百度云服务器账号,百度网盘如何注销账号?百度网盘注销账号的方法步骤...
  19. 微信小程序之蓝牙通信模块
  20. python辗转相除_Python基于辗转相除法求解最大公约数的方法示例

热门文章

  1. linux脚本提示,linux开机提示信息脚本
  2. SVN switch 用法详解
  3. 在Spring中使用JMS
  4. 【题解】lugu P4095 Eden的新背包问题
  5. Linux查看版本当前操作系统内核信息
  6. 模拟一次CSRF(跨站请求伪造)例子,适合新手
  7. 自动装箱和==和equals
  8. java面试问题你知道几个呢?
  9. JSP -- JSP语法
  10. AVL树(二叉平衡树)详解与实现