Как обновить один файл в документе elsaticsearch с помощью API Java, используя Script? - PullRequest
0 голосов
/ 26 апреля 2020

Я хочу обновить одну из файлов вasticSearch. У меня есть идентификатор документа и новое значение. Я не знаю, как написать сценарий для этого. как я могу указать идентификатор документа? Я написал как ниже, но не работает. studentId - поле должно было быть изменено, и результатом является новое значение

            UpdateResponse response = dataTransportClient.prepareUpdate(
            AppSettings.ELASTIC_SERVICE_NAME,
            AppSettings.ELASTIC_DB_NAME,
            studentId)
            .setScript(
                    new Script(
                            ScriptType.INLINE,
                            "painless",
                            "ctx._source.studentId="+result,
                             Collections.emptyMap()
                    )
            )
            .setRefreshPolicy(WriteRequest.RefreshPolicy.NONE)
            .get();

1 Ответ

0 голосов
/ 28 апреля 2020

Я решаю свою проблему с изменением, как показано ниже:

        UpdateResponse response = dataTransportClient.prepareUpdate(
        AppSettings.ELASTIC_SERVICE_NAME,
        AppSettings.ELASTIC_DB_NAME,
        studentId)
           .setScript(
                new Script(
                        ScriptType.INLINE,
                        "painless",
                        "ctx._source.response =" + (JsonUtil.getJson(result)),
                         Collections.emptyMap()
                          )
                     )
        .setRefreshPolicy(WriteRequest.RefreshPolicy.NONE)
        .get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...