如何在elasticsearch 5.2中更新文档时使用addScriptParam?

时间:2017-08-29 15:14:50

标签: java scala elasticsearch elasticsearch-5

如何在使用java api更新elasticsearch中的文档时使用addScriptParam,我刚从版本1.6.0升级到更新的Elasticsearch版本5.2我将在以下代码中获得编译时间

for (n<-0 to followList.size-1) {
          var newObject:java.util.Map[String,Object] = Maps.newHashMap();
          var follow=followList.get(n)
          var followuuid=follow.getFollowID
          var uuidType=follow.getClassType().toString()
          newObject.put("FollowingItemUuid",followuuid)
          newObject.put("FollowingItemUuidType",uuidType)
          bulkRequest.add(client.prepareUpdate("testdb", ARTISTUSER_COLLECTION_NAME, artistUser.uuid)
          .addScriptParam("newObject", newObject)  
          .setScript(new Script(script.ScriptType.INLINE,"ctx._source.FollowingItems += newObject",null,null)))

        }

eclipse正在给出错误

value addScriptParam is not a member of org.elasticsearch.action.update.UpdateRequestBuilder possible cause: maybe a semicolon is missing before `value 
 addScriptParam'?

我在网上进行了研究,但没有得到解决方案我知道ES更新的版本在更新API中更改了很多内容,但我没有找到addScriptParam如何在addScriptParam中使用ES 5.2的任何示例java API?

1 个答案:

答案 0 :(得分:0)

根据documentation,请使用脚本(脚本)方法。

@Deprecated
public UpdateRequest addScriptParam(java.lang.String name, java.lang.Object value)
Deprecated. Use script(Script) instead
Add a script parameter.