原生(java)脚本
Last updated
Was this helpful?
Last updated
Was this helpful?
有时候groovy
和是不够的。这种时候可以实现原生脚本。
实现原生脚本,最好的方法是编写一个插件并安装它。如何编写一个插件并让Elasticsearch正确的加载它,在章节有更多的介绍。
要注册一个新的脚本,你需要通过实现NativeScriptFactory
来构建它。可以通过继承AbstractExecutableScript
或AbstractSearchScript
。 另外一种可能是最有用的方式,通过扩展AbstractLongSearchScript
和AbstractDoubleSearchScript
。最后,你还需要通过实现ScriptPlugin
接口来注册原生脚本插件。
下面展示的是如何在一个类中来完成所有事情,它会是这样的:
您可以通过指定脚本的lang
字段值为native
,以及inline
字段的值为脚本的名称来执行它: