楼主: yujianta14
611 0

ES使用脚本进行局部更新的排错记录 [推广有奖]

  • 0关注
  • 0粉丝

本科生

36%

还不是VIP/贵宾

-

威望
0
论坛币
130 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1703 点
帖子
45
精华
0
在线时间
10 小时
注册时间
2016-4-18
最后登录
2016-6-27

楼主
yujianta14 发表于 2016-5-23 17:44:58 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
  初学Elasticsearch,在按照《Elasticsearch服务器开发(第2版)》进行学习的过程中,在P17页中1.4.5 更新文档小节,使用脚本对文档进行局部更新的时候遇到了如下报错:
  1.   ~ curl -XPOST http://127.0.0.1:9200/blog/article/1/_update -d '{"script": "ctx._source.content=\"new content\""}'
  2. {
  3.     "error":{
  4.         "root_cause":[{
  5.             "type":"remote_transport_exception",
  6.             "reason":"[Lady Mandarin][127.0.0.1:9300][indices:data/write/update[s]]"
  7.             }
  8.         ],
  9.         "type":"illegal_argument_exception",
  10.         "reason":"failed to execute script",
  11.         "caused_by":{
  12.             "type":"script_exception",
  13.             "reason":"scripts of type [inline], operation [update] and lang [groovy] are disabled"}},
  14.             "status":400
  15. }%
复制代码

  我根据提示中的原因"scripts of type [inline], operation [update] and lang [groovy] are disabled"进行了查询,查到了官网文档关于对脚本更新的介绍(介绍链接)。
  通过粗略查看文档,我发现要解决这个问题,需要在Elasticsearch的配置文件elasticsearch.yml中添加如下配置:
  由于Elasticsearch默认使用的是Groovy语言。Groovy语言一个快速且功能丰富的脚本语言,语法类似于Javascript。它在一个沙盒(sandbox)中运行,以防止恶意用户毁坏Elasticsearch或攻击服务器。
  由于默认Elasticsearch没有打开Groovy的update权限,因此我们无法通过Groovy进行更新操作,通过上述配置打开权限之后,就可以进行更新操作了。推荐:http://www.lemonpai.com/
  1. ~ curl -XPOST http://127.0.0.1:9200/blog/article/1/_update -d '{"script": "ctx._source.content=\"new content\""}'
  2. {
  3.     "_index":"blog",
  4.     "_type":"article",
  5.     "_id":"1",
  6.     "_version":2,
  7.     "_shards":{
  8.         "total":2,
  9.         "successful":1,
  10.         "failed":0
  11.     }
  12. }%
复制代码


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Javascript successful exception operation Transport operation content 服务器 failed reason

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
扫码
拉您进交流群
GMT+8, 2026-1-17 03:15