Manual talk:Searchindex table

From MediaWiki.org
Jump to: navigation, search

[edit] out of date

Is this page out of date? --Cumeo89 10:20, 17 June 2008 (UTC)

Nope. The searchindex table just sucks. :D --brion 18:16, 2 July 2009 (UTC)

[edit] Migrating from MyISAM to InnoDB

Hi,

I'm currently migrating a large mediawiki from MyISAM to InnoDB, testing this on a development database. When trying to convert searchindex it fails because FULLTEXT isn't supported by InnoDB.

I may leave this table on MyISAM this time but how would MediaWiki create this table in a InnoDB-only environment? What type of INDEX would be used here?

Currently the table looks like this:

mysql> show create table searchindex\G
*************************** 1. row ***************************
       Table: searchindex
Create Table: CREATE TABLE `searchindex` (
  `si_page` int(8) unsigned NOT NULL DEFAULT '0',
  `si_title` varchar(255) NOT NULL DEFAULT '',
  `si_text` mediumtext NOT NULL,
  UNIQUE KEY `si_page` (`si_page`),
  FULLTEXT KEY `si_title` (`si_title`),
  FULLTEXT KEY `si_text` (`si_text`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 PACK_KEYS=1
1 row in set (0.00 sec)

Regards --Rabe 20:21, 4 December 2011 (UTC)

The fulltext index type is only available on MyISAM; by default, all MediaWiki tables *except* 'searchindex' are InnoDB, and 'searchindex' as an exception gets MyISAM specifically so it will work.
This leaves it as a single point of failure in an InnoDB system, where this table can still get marked crashed and cause annoyance.
HOWEVER! If you use a separate search engine instead, you don't actually need the searchindex table's fulltext index. Try setting up Sphinx or Lucene search backends, and you can drop the fulltext indexes. --brion 23:04, 4 December 2011 (UTC)
Personal tools
Namespaces
Variants
Actions
Site
Support
Download
Development
Communication
Print/export
Toolbox