On 7/29/26 20:32, Rahul Goswami wrote:
I read my response again just to ensure I said the right thing, and I did
say the right thing :)

You misinterpreted my response.

I don't think so.

So in your example, say doc with id “foo” has 10 fields in the index, then
the below doc sent in an update will indeed result in a partial update, and
not an error (i.e values for “bar” and “bleh” will be updated and the
remaining fields in the original doc in the index will be retained;
ofcourse copy fields of bar and bleh if any will be updated too)  :

{ "id" : "foo", "bar" : { "set" : "baz" }, "bleh" : "schmeh" }

If what you say is true, then this is equivalent to a full upsert and the "partial update" instruction is redundant. My reading of the fine manual is that partial update only reindexes the single docvalues field, which is not the right thing to do in this case, so it has to be ignored.

Personally I'd consider it an error and reject it with "make up your mind: do you want a partial update or a full one", but it's not my code.

At the very least the actual behaviour needs to be documented in TFM.

Dima

Reply via email to