Elasticsearch Script Processor(脚本处理器)

x33g5p2x  于2021-03-14 发布在 ElasticSearch  
字(0.9k)|赞(0)|评价(0)|浏览(551)

原文链接 : https://www.elastic.co/guide/en/elasticsearch/reference/5.3/script-processor.html

译文链接 : http://www.apache.wiki/pages/viewpage.action?pageId=10028259

贡献者 : [那伊抹微笑],[ApacheCN],[Apache中文网]

可以在 ingestpipelines 中执行 inlinestored(存储),和 filescripts(文件脚本)。

请参阅 如何使用脚本 了解有关编写脚本的更多信息。ScriptProcessor(脚本处理器)利用编译脚本的缓存来提高性能。由于处理器中指定的脚本可能会把每个 document(文档)给重新编译。因此了解脚本缓存的工作原理是非常重要的。要了解有关缓存的更多信息,请参阅 脚本缓存

Table 28. Script Options(表 28. 脚本选项)

Name(名称)Required(必要的)Default(默认值)Description(描述)
langno"painless"脚本语言
fileno-要引用的脚本文件
idno-要引用所存储的脚本 ID
inlineno-An inline script to be executed
paramsno-脚本参数

filedidinline 中的选项必须提供,为了正确的引用脚本以执行。

您可以通过使用 **ctx **变量从脚本 context(上下文)中访问当前的 ingest document

以下示例设置了一个名为 field_a_plus_b_times_c 的新字段,它是两个现有字段 filed_afield_b 的和,然后再乘以参数 param_c 的值。

{
  "script": {
    "lang": "painless",
    "inline": "ctx.field_a_plus_b_times_c = (ctx.field_a + ctx.field_b) * params.param_c",
    "params": {
      "param_c": 10
    }
  }
}

相关文章

微信公众号

最新文章

更多