public function addAllFulltextFields($includeSubclasses = true)
    {
        foreach ($this->getClasses() as $class => $options) {
            $classHierarchy = SearchIntrospection::hierarchy($class, $includeSubclasses, true);

            foreach ($classHierarchy as $dataClass) {
                $fields = DataObject::getSchema()->databaseFields($dataClass);

                foreach ($fields as $field => $type) {
                    list($type, $args) = ClassInfo::parse_class_spec($type);

                    /** @var DBField $object */
                    $object = Injector::inst()->get($type, false, ['Name' => 'test']);
                    if ($object instanceof DBString) {
                        $this->addFulltextField($field);
                    }
                }
            }
        }
    }