weaviate-ruby icon indicating copy to clipboard operation
weaviate-ruby copied to clipboard

Use `PATCH` not `PUT` for updating objects

Open asgeo1 opened this issue 2 years ago • 5 comments

Hello!

I want to use skip property in Weaviate, so some properties on my schema are not part of the generated vector.

I then want to be able to update a skip'd property, and it should not regenerate the vector, because that was the only property I updated, and it is not part of the vector.

It doesn't work currently. This is because weaviate-ruby is sending PUT rather than PATCH. I.e. it's replacing the entire object, which results in it regenerating the vector anyway, even if I'm only wanting to update a single, skipped property.

Suggest you have separate update and replace methods, which trigger PATCH and PUT respectively.

I forked the repo, and made this change myself, and it seems to work OK for me.

asgeo1 avatar Sep 28 '23 09:09 asgeo1

@asgeo1 Would you be open to issuing a PR for this change please?

andreibondarev avatar Sep 30 '23 19:09 andreibondarev

Any progress on this? Just ran into the same issue. @andreibondarev maybe you can pull the changes from Adam's fork?

obie avatar Nov 18 '23 17:11 obie

@obie I didn't see @asgeo1's fork. Is there one?

andreibondarev avatar Nov 18 '23 17:11 andreibondarev

Sorry I didn’t actually check, just going off what he said On Nov 18, 2023 at 11:29 AM -0600, Andrei Bondarev @.***>, wrote:

@obie I didn't see @asgeo1's fork. Is there one? — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

obie avatar Nov 18 '23 17:11 obie

Hello, sorry I hadn't gotten back to looking at this issue. My fork is here: https://github.com/bluefrogsoftware/weaviate-ruby, I sent a PR if you want to look at my changes. If it doesn't pass CI, I'll take a look at the specs tomorrow.

The change I made is a breaking change though, since is changes how the existing update method works. Not sure if you're OK with that?

I think there was also some issue with replacing existing properties on a class, but I haven't resolved that one yet.

asgeo1 avatar Nov 18 '23 23:11 asgeo1