Обновление документа в DocumentProcessor в vespa - PullRequest
0 голосов
/ 23 ноября 2018

Как добавить новое поле в существующий документ в DocumentProcessor при обновлении документа с помощью REST API.

@Override
        public Progress process(Processing processing) {
            for (DocumentOperation op : processing.getDocumentOperations()) {
                if (op instanceof DocumentUpdate) {
                    DocumentUpdate documentUpdate = (DocumentUpdate) op;
                    // what shoud I write here to add new field with value 

                }

            }
            return Progress.DONE;
        }

Когда я использую код ниже, это дает мне ошибку

DocumentUpdate upd = new DocumentUpdate(type, id);
             upd.addFieldUpdate(FieldUpdate.createMap(type.getField("myStrWSet"), "foo", new AssignValueUpdate(100)));

Ошибка: AssignValueUpdate не может применяться к int.

И как создать объект FieldUpdate с новым полем и его значением.

Пожалуйста, помогите.

1 Ответ

0 голосов
/ 23 ноября 2018
documentUpdate.addFieldUpdate(FieldUpdate.createAssign(documentUpdate.getDocumentType().getField("myField"),
                                                       new StringFieldValue("myValue")));
...