def reindex_data(self, user, typed_columns=None, column_types=None):
        self.lock()
        
        task_type = ReindexTask

        try:
            typed_column_count = 0

            if typed_columns:
                for i, t in enumerate(typed_columns):
                    self.column_schema[i]['indexed'] = t
                    
                    if t:
                        typed_column_count += 1

            if column_types:
                for i, t in enumerate(column_types):
                    self.column_schema[i]['type'] = t

            self.column_schema = update_indexed_names(self.column_schema)

            self.current_task = TaskStatus.objects.create(
                task_name=task_type.name,
                task_description=_('Reindex %(slug)s with %(typed_column_count)i column filters.') \
                     % {'slug': self.slug, 'typed_column_count': typed_column_count}, 
                creator=user
            )

            self.save()

            task_type.apply_async(
                args=[self.slug],
                kwargs={},
                task_id=self.current_task.id
            )
        except:
            self.unlock()
            raise
Reindex the data currently stored for this ``Dataset``.
dataset/ETHPy150Open pandaproject/panda/panda/models/dataset.py/Dataset.reindex_data