使用REST API更新文档时如何在DocumentProcessor中向现有文档添加新字段。
@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对象。
请帮助。
答案 0 :(得分:3)
documentUpdate.addFieldUpdate(FieldUpdate.createAssign(documentUpdate.getDocumentType().getField("myField"),
new StringFieldValue("myValue")));