弹性搜索管理员API preparePutIndexedScript不再存在

时间:2017-11-03 11:45:49

标签: elasticsearch

我需要在adminClusterApi上使用这个方法,

client.preparePutIndexedScript()
                         .setScriptLang("painless")
                         .setId("script1")
                         .setSource("script", "_score * doc['my_numeric_field'].value")
                         .execute()
                         .actionGet();

我尝试了以下弹性搜索客户端版本。 * 5.6.1 * 5.3.1 * 5.3.3

但遗憾的是我再也找不到这种方法甚至是Java Api上的preparePutIndexedScript,有人有什么想法吗?

根据文档,该类仍然存在 - > https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/indexed-scripts.html

1 个答案:

答案 0 :(得分:0)

我找到了答案

  

所有与索引脚本交互相关的方法都是   除去。用于与存储脚本交互的Java API方法具有   已添加到ClusterAdminClient类下。使用的糖方法   存在于索引脚本上的API方法在方法上不存在   用于存储的脚本。提供脚本的唯一方法是使用   BytesReference实现,如果需要提供字符串   应该使用BytesArray类。

https://www.elastic.co/guide/en/elasticsearch/reference/5.5/breaking_50_scripting.html#_indexed_scripts_java_apis

会很好,但如果我提到的其他文档部分升级有点难以找到。