Can I update the property of a class schema?

Description

According to this: How to update a property of class schema? the answer to my question is no. But, I wanted to check and see if that was still true.

I need to change this:

  [
         "name" => "categories",
         "dataType" => ["text"],
         "description" => "Keyword categories.",
         "moduleConfig" => [ "text2vec-openai" => [ "skip" => false, "vectorizePropertyName" => true ]]
       ]

to this:

  [
         "name" => "categories",
         "dataType" => ["text[]"],
         "description" => "Keyword categories.",
         "moduleConfig" => [ "text2vec-openai" => [ "skip" => false, "vectorizePropertyName" => true ]]
       ]

Server Setup Information

  • Weaviate Version: 1.23.7
  • Deployment Method: WCS
  • Multi Node? Number of Running Nodes:
  • Used Client Language and Version:

Any additional Information

Hi! Sorry for the delay here.

You can create a new property, categories_multiple, and copy all categories there.

As you have skip:false, I believe that only new objects after that field addition will have that categories_multiple vectorized.

Let me know if that helps!

So, I cannot modify or delete the existing categories property even if it currently has no data?

That’s right. I believe those are features that will eventually land.

The general reasoning is that it will take roughly the same computing power to rebuild the indexes than to reingest data in some cases.