Как обновить (не перезаписать) запись в Elasticsearch с помощью Node.js? - PullRequest
0 голосов
/ 04 мая 2019

При написании лямбды я беру файл с S3 и отправляю его в Elasticsearch.Когда я прикрепил файл с помощью pipe-attachment, он присоединяется правильно, но перезаписывает все мои поля.Как мне просто прикрепить файл к моей записи, сохраняя мои предыдущие поля в моем ответе?Не могу найти документацию по этому действию.

Я использую Elasticsearch.index для первоначального прикрепления файла, который работает, но перезаписывает все остальные мои поля.Я пробовал Elasticsearch.update, но не могу заставить его работать.

s3.getObject({Bucket: bucket, Key: key}, function (err, data) {
               if (err) {
                        console.log(err, err.stack); // an error occurred
                        context.fail();
               } else {
                  console.log('data: ', data); // successful response
                  var attachment = data.Body.toString('base64'); 
                  console.log('attachment: ', attachment);
                  elasticsearch.index(
                 {
                       index: 'files',
                       pipeline: 'attachment',
                       type: 'file',
                       id: key,
                       body: {
                              data: attachment
                             }
                 },
                   function (error, resp) {
                       if (error) {
                          console.trace('index error!', error);
                       } else {
                          console.log('index response', resp);
                          context.succeed();
                       }
                   }
                   );
                }
           });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...