From: Gaulin, M. <mg...@gl...> - 2004-12-10 19:00:28
|
Hi Shane Yeah, those where the errors I got. I took your advice and switched the = tables to MyISAM and reran the ADD INDEX commands and they all worked. = So far so good! Thanks for your help. Mark -----Original Message----- From: Shane [mailto:sh...@lo...] Sent: Friday, December 10, 2004 11:17 AM To: Gaulin, Mark Cc: slashcode List Subject: Re: [Slashcode-general] "search" plugin "ADD FULLTEXT" fails on new, latest install I thought you could do InnoDB and fulltext, you just can't have =20 fulltext on an indexed column when tabletype=3D=3DInnodb? Restrictions on InnoDB tables: http://dev.mysql.com/doc/mysql/en/InnoDB_restrictions.html If you look at the table story_text: | story_text | CREATE TABLE `story_text` ( `stoid` mediumint(8) unsigned NOT NULL default '0', `title` varchar(100) NOT NULL default '', `introtext` text, `bodytext` text, `relatedtext` text, `rendered` text, PRIMARY KEY (`stoid`) ) TYPE=3DInnoDB | the Slash::Search plugin's doing this (in mysql_prep): ALTER TABLE story_text ADD FULLTEXT title (title), ADD FULLTEXT =20 intro_body (introtext,b odytext); ALTER TABLE comments..... Here's the errors I got when doing a fresh-install: Error:Slash::Install:/Library/Perl/5.8.1/darwin-thread-multi-2level/=20 Slash/Install.pm:578:DB=3D'slash' -- hostinfo=3D'Localhost via UNIX = socket' =20 -- The used table type doesn't support FULLTEXT indexes -- ALTER TABLE =20 story_text ADD FULLTEXT title (title), ADD FULLTEXT intro_body =20 (introtext,bodytext) Which was called =20 by:Slash::Install:/Library/Perl/5.8.1/darwin-thread-multi-2level/Slash/=20 Install.pm:175:DB=3D'slash' -- hostinfo=3D'Localhost via UNIX socket' -- = =20 The used table type doesn't support FULLTEXT indexes -- ALTER TABLE =20 story_text ADD FULLTEXT title (title), ADD FULLTEXT intro_body =20 (introtext,bodytext) =3D=3D=3D (Search) Failed on :ALTER TABLE story_text ADD FULLTEXT title = (title), ADD FULLTEXT intro_body (introtext,bodytext): Error:Slash::Install:/Library/Perl/5.8.1/darwin-thread-multi-2level/=20 Slash/Install.pm:578:DB=3D'slash' -- hostinfo=3D'Localhost via UNIX = socket' =20 -- The used table type doesn't support FULLTEXT indexes -- ALTER TABLE =20 comments add fulltext (subject) Which was called =20 by:Slash::Install:/Library/Perl/5.8.1/darwin-thread-multi-2level/Slash/=20 Install.pm:175:DB=3D'slash' -- hostinfo=3D'Localhost via UNIX socket' -- = =20 The used table type doesn't support FULLTEXT indexes -- ALTER TABLE =20 comments add fulltext (subject) =3D=3D=3D (Search) Failed on :ALTER TABLE comments add fulltext = (subject): Error:Slash::Install:/Library/Perl/5.8.1/darwin-thread-multi-2level/=20 Slash/Install.pm:578:DB=3D'slash' -- hostinfo=3D'Localhost via UNIX = socket' =20 -- The used table type doesn't support FULLTEXT indexes -- ALTER TABLE =20 comment_text add fulltext (comment) Which was called =20 by:Slash::Install:/Library/Perl/5.8.1/darwin-thread-multi-2level/Slash/=20 Install.pm:175:DB=3D'slash' -- hostinfo=3D'Localhost via UNIX socket' -- = =20 The used table type doesn't support FULLTEXT indexes -- ALTER TABLE =20 comment_text add fulltext (comment) =3D=3D=3D (Search) Failed on :ALTER TABLE comment_text add fulltext = (comment): Error:Slash::Install:/Library/Perl/5.8.1/darwin-thread-multi-2level/=20 Slash/Install.pm:578:DB=3D'slash' -- hostinfo=3D'Localhost via UNIX = socket' =20 -- The used table type doesn't support FULLTEXT indexes -- ALTER TABLE =20 users add fulltext (nickname) Which was called =20 by:Slash::Install:/Library/Perl/5.8.1/darwin-thread-multi-2level/Slash/=20 Install.pm:175:DB=3D'slash' -- hostinfo=3D'Localhost via UNIX socket' -- = =20 The used table type doesn't support FULLTEXT indexes -- ALTER TABLE =20 users add fulltext (nickname) =3D=3D=3D (Search) Failed on :ALTER TABLE users add fulltext (nickname): Error:Slash::Install:/Library/Perl/5.8.1/darwin-thread-multi-2level/=20 Slash/Install.pm:578:DB=3D'slash' -- hostinfo=3D'Localhost via UNIX = socket' =20 -- The used table type doesn't support FULLTEXT indexes -- ALTER TABLE =20 pollquestions add fulltext (question) Which was called =20 by:Slash::Install:/Library/Perl/5.8.1/darwin-thread-multi-2level/Slash/=20 Install.pm:175:DB=3D'slash' -- hostinfo=3D'Localhost via UNIX socket' -- = =20 The used table type doesn't support FULLTEXT indexes -- ALTER TABLE =20 pollquestions add fulltext (question) =3D=3D=3D (Search) Failed on :ALTER TABLE pollquestions add fulltext =20 (question): [coolio:src/slash/slash.new] shane# mysql -V mysql Ver 12.22 Distrib 4.0.17, for apple-darwin7.3.0 (powerpc) Shane On Dec 10, 2004, at 10:42 AM, Gaulin, Mark wrote: > Hi Folks > All of the "ALTER TABLE x ADD FULLTEXT" lines in the =20 > plugins\Search\mysql_prep fail when the plugin is installed, and it =20 > sure looks like it's because FULLTEXT isn't supported for InnoDB =20 > tables. (It's a new MySQL installation on fedora, version =20 > 4.1.7-standard.) > > Is FULLTEXT really needed? What do other people do? > > Thanks > Mark > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real =20 > users. > Discover which products truly live up to the hype. Start reading now. > http://productguide.itmanagersjournal.com/ > _______________________________________________ > Slashcode-general mailing list > Sla...@li... > https://lists.sourceforge.net/lists/listinfo/slashcode-general > |
From: Jamie M. <ja...@mc...> - 2004-12-13 14:53:03
|
mg...@gl... (Gaulin, Mark) writes: > I took your advice and switched the tables to MyISAM and reran > the ADD INDEX commands and they all worked. So far so good! That's a fine way to do it. The problem we have in deciding what to put in the upgrades file is that Slash is optimized for multiple DBs, with slaves replicating off a master DB, and the sites _we_ run with it have search slave DBs with different table types than the master. On Slashdot, for example, the master has all its tables as InnoDB right now. But our slaved search DB has the story_text, etc. tables as MyISAM. We only have the FULLTEXT indexes on the search DB obviously. That means the rest of the site gets the better performance of InnoDB and no worries about features that don't always work between different table types. But we don't have a good way to express that in the schema or upgrades file right now. The good news is that we're (slowly) working on integrating an off-the-shelf (open-source of course) search program into Slash, at which point we won't need MySQL to do searching anymore. So the FULLTEXT indexes, and those last MyISAM tables, can go away. But that's probably a couple of months off still, and no that's not a promise, just a guess. --=20 Jamie McCarthy http://mccarthy.vg/ ja...@mc... |
From: Jamie M. <ja...@mc...> - 2004-12-13 16:54:44
|
BTW I just committed instructions to the INSTALL file for a poor workaround to this problem. It hasn't replicated to sf.net's anonymous CVS yet, but when it does in a few hours, the diff will be here: <http://cvs.sourceforge.net/viewcvs.py/slashcode/slash/INSTALL?r1=3D1.38&r2= =3D1.39> --=20 Jamie McCarthy http://mccarthy.vg/ ja...@mc... |