user3
January 23, 2024, 2:38am
1
I am using the Go SDK. When using the data updater to modify properties, I noticed that existing vectors are being updated. Could you please explain why this is happening? Is there a specific setting causing this?
err := client.Data().Updater().
WithTenant(TenantA).
WithClassName(ClassName).
WithID(`e081e4eb-b2e5-4368-997c-3c842ad45a29`).
WithMerge().
WithProperties(g.Map{
"answer": `{"answer":[{"type":"text", "text":["answer5"]}]}`,
},
).
Do(ctx)
Hi @user3 ! Welcome to Weaviate
This will happen in server side. So it doesn’t depend on the client language you are using.
When you class have a vectorizer configured, and you change a property that skip
is set to False, Weaviate will generate a new vector for that object.
This is defined by the skip
setting at property level in the configuration for that vectorizer. Here more info for OpenAI for example:
if you don’t want that property to, when udpated, trigger a new vectorization of the object, you need to set it skip
to True
let me know if thi clarifies it for you
1 Like
user3
January 25, 2024, 7:17am
3
Thank you for your response. As you mentioned, I have indeed tried, and the vector does not change. However, since the system is currently live, is there a way to adjust existing properties?
Hi! Some properties you can change:
For the ones you can’t, you will need to reindex your data by moving it to a new class with the changes in schema you want.
There is a migration guide here:
Let me know if this helps!
user3
January 26, 2024, 1:52am
5
Thank you for your reply, I understand. I will implement and verify it later.