def test_partial_update_only_update_existing_score_modifiers(self):
        """
         Test that partial updates which specifically change the existing keys inside existing maps
         reflect properly in score modifiers tensors.
         Along with updating score modifiers, we also check that version_uuid changes since we are processing an update request that contains maps.
         """
        test_docs = [self.doc2, self.doc3]
        version_uuid = {}

        for doc in test_docs:
            with self.subTest(f"Updating existing score modifiers for document with ID {doc['_id']}"):
                id = doc['_id']
                # Doing a get to set the version_uuid in the version_uuid hashmap, which we'll check later to make sure it has changed after
                # processing an update request that contains maps
                raw_vespa_doc = self.config.vespa_client.get_document(id, self.index.schema_name)
                doc = raw_vespa_doc.document.dict().get('fields')
                self.assertIsNotNone(doc.get('marqo__version_uuid'))  # version_uuid should be present.
                version_uuid[id] = doc.get('marqo__version_uuid')

                # Create a document with existing fields first to verify we're only adding
                original_doc = tensor_search.get_document_by_id(self.config, self.index.name, id)

                # Perform update with only additions, not replacements
                res = self.config.document.partial_update_documents([{
                    '_id': id,
                    "int_map": {"a": 3, "b": 4},
                    "float_map": {"c": 3.0, "d": 4.0},
                }], self.index)
                self.assertFalse(res.errors, f"Expected no errors when updating document {id}")

                res = self.config.vespa_client.get_document(id,
                                                            self.config.index_management.get_index(
                                                                self.index.name).schema_name)
                doc = res.document.dict().get('fields')
                # Verify original fields are preserved
                int_field_val = self.id_to_doc[id].get('int_field', 0)
                self.assertEqual(doc['marqo__score_modifiers']['cells']['int_field'], float(int_field_val))
                float_field_val = self.id_to_doc[id].get('float_field', 0)
                self.assertEqual(doc['marqo__score_modifiers']['cells']['float_field'], float(float_field_val))
                self.assertEqual(doc['marqo__score_modifiers']['cells']['int_map.a'], 3.0)
                self.assertEqual(doc['marqo__score_modifiers']['cells']['int_map.b'], 4.0)
                self.assertEqual(doc['marqo__score_modifiers']['cells']['float_map.c'], 3.0)
                self.assertEqual(doc['marqo__score_modifiers']['cells']['float_map.d'], 4.0)

                # Verify that the version_uuid has changed. Only applicable for cases where we process update requests
                # that contain maps in them.
                self.assertNotEqual(doc.get('marqo__version_uuid'), version_uuid.get(id))  # version_uuid should change

         Test that partial updates which specifically change the existing keys inside existing maps
         reflect properly in score modifiers tensors.
         Along with updating score modifiers, we also check that version_uuid changes since we are processing an update request that contains maps.
         
tests/integ_tests/core/document/test_partial_update_semi_structured.py