New Java API Client: Rewrite an UpdateRequest with Script Part

Hello everyone,

We need to migrate some code from the current Java High Level REST Client (HLRC) to the new Java API Client 7.7.15.

I have this snippet of Kotlin code I need to rewrite using the new Java Client API:

val lockObject = lockObject(
    lockConfiguration.name,
    lockConfiguration.lockAtMostUntil,
    now()
)

val ur = UpdateRequest()
    .index(index)
    .id(lockConfiguration.name)
    .script(
        Script(
             ScriptType.INLINE,
             "painless",
             UPDATE_SCRIPT,
             lockObject
         )
     )
     .upsert(lockObject)
     .setRefreshPolicy(WriteRequest.RefreshPolicy.IMMEDIATE)
     val res = highLevelClient.update(ur, RequestOptions.DEFAULT)
     res.result != DocWriteResponse.Result.NOOP

Based on the example mentioned here, I have tried to come up with something, but it still does not look right to me, because:

  • I am not sure, how the .script() part need to be rewritten
  • I don't know how to handle the refresh policy in the new client code

Here's the code:

val response = client.update({ u: UpdateRequest.Builder<LockConfiguration, Map<String,Any>> ->
                    u.index(index).id(lockConfiguration.name).doc(lockObject) }, LockConfiguration::class.java)

Is there anyone who could contribute an example here doing such an update operation?

Thank you very much for your help

Best regards,
André

@swallez Could you maybe provide an example or some access to preliminary documentation on this one? Thank you very much!

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.