/** * @see LoggedUpdateMaintenance::doDBUpdates * * @return bool */ public function doDBUpdates() { if (!defined('WB_VERSION')) { $this->output("You need to have Wikibase enabled in order to use this maintenance script!\n\n"); exit; } $reporter = new ObservableMessageReporter(); $reporter->registerReporterCallback(array($this, 'report')); $table = WikibaseRepo::getDefaultInstance()->getStore()->getTermIndex(); $builder = new TermSearchKeyBuilder($table); $builder->setReporter($reporter); $builder->setBatchSize((int) $this->getOption('batch-size', 100)); $builder->setRebuildAll(!$this->getOption('only-missing', false)); $builder->setFromId((int) $this->getOption('start-row', 1)); $n = $builder->rebuildSearchKey(); $this->output("Done. Updated {$n} search keys.\n"); return true; }