BulkRequest.Builder brb = new BulkRequest.Builder().index("foo");
//first try
Rechnung r6 = new Rechnung();
r6.Rechnungsbetrag = 49.99f;
ObjectMapper mapper = new ObjectMapper();
String myjson = mapper.writeValueAsString(r6);
brb.operations(buop -> buop.update(upop -> upop.id("" + Rechnungsnummer).withJson(new StringReader(myjson))));
//second try (explicitly saying it is a partial document)
UpdateOperation.Builder<Void, Rechnung> up = new UpdateOperation.Builder<Void, Rechnung>();
up.id("" + Rechnungsnummer).withJson(new StringReader(myjson));
BulkOperation bo3 = new BulkOperation.Builder().update(up.build()).build();
brb.operations(bo3);
Both will give
java.lang.IllegalArgumentException: Class class co.elastic.clients.elasticsearch.core.bulk.UpdateOperation cannot be read from JSON
on "withJson(...)".
Any ideas?
"myjson" has following value: {"Rechnungsnummer":0,"Rechnungsdatum":null,"Rechnungsbetrag":49.99,"Gläubiger":null,"Schuldner":null,"Bezahlt":false,"Mahndatum":null}
Thanks - Enomine
public class Rechnung {
public int Rechnungsnummer;
public Date Rechnungsdatum;
public float Rechnungsbetrag;
public String Gläubiger;
public String Schuldner;
public boolean Bezahlt;
public Date Mahndatum;
Rechnung() {
}
Rechnung(int Rechnungsnummer, Date Rechnungsdatum, float Rechnungsbetrag, String Gläubiger, String Schuldner, boolean Bezahlt) {
this(Rechnungsnummer, Rechnungsdatum, Rechnungsbetrag, Gläubiger, Schuldner);
this.Bezahlt = Bezahlt;
}
Rechnung(int Rechnungsnummer, Date Rechnungsdatum, float Rechnungsbetrag, String Gläubiger, String Schuldner) {
this.Rechnungsnummer = Rechnungsnummer;
this.Rechnungsdatum = Rechnungsdatum;
this.Rechnungsbetrag = Rechnungsbetrag;
this.Gläubiger = Gläubiger;
this.Schuldner = Schuldner;
}
public String toString() {
if (Mahndatum != null) {
return "Rechnung: Rn: " + Rechnungsnummer + " Rd: " + Rechnungsdatum
+ " Rb: " + Rechnungsbetrag + " Gl: " + Gläubiger
+ " Sc: " + Schuldner + " Be: " + Bezahlt + " Md: " + Mahndatum;
} else {
return "Rechnung: Rn: " + Rechnungsnummer + " Rd: " + Rechnungsdatum
+ " Rb: " + Rechnungsbetrag + " Gl: " + Gläubiger
+ " Sc: " + Schuldner + " Be: " + Bezahlt;
}
}
}