Data updater will change the vector?

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 :slight_smile:

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 :slight_smile:

1 Like

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!

Thank you for your reply, I understand. I will implement and verify it later.