繁体   English   中英

如何调试 Elasticsearch 无痛脚本

[英]How to debug an Elasticsearch painless script

我目前正在尝试调试用 Elasticsearch “无痛”脚本语言编写的脚本。 此脚本存储在集群上,并使用参数按 ID 更新文档。 通过 ES 开发控制台调用时它工作正常。 但是,当使用完全相同的参数和相同的文档 ID 从 Java 调用它时,我没有得到预期的结果。 该文件只是保持不变。

不管更新是如何发生的(使用我们自己的基于 Kafka 的更新管道):调试此类存储脚本的好方法是什么? 我如何记录调试 output 和异常以及这些日志消息究竟会显示在哪里? 谢谢!

final Map<String, Object> params = <my parameters here>;                
final Script script = new Script(ScriptType.STORED, null, MY_SCRIPT_NAME, params);              
UpdateRequest updateRequest = new UpdateRequest(MY_INDEX_NAME, ES_ID_OF_DOC).script(script);

// updateRequest then sent to ES via Kafka or via BulkIndexService
// neither of which leads to the desired doc update

事实证明,错误出在 Kafka 消费者中。 该脚本的第一个版本抛出了一个消费者无法从中恢复的异常,因此它陷入了无限循环,阻止了所有进一步的处理。

尽管如此,如果有人对如何最好地调试无痛脚本有一些提示,请随时将它们添加到此处。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM