Hi,
I'm getting a searchindex error when trying to save a particular article after
editing:
> Es gab einen Syntaxfehler in der Datenbankabfrage. Die letzte Datenbankabfrage
> lautete:
> REPLACE INTO `searchindex` (si_page,si_title,si_text) VALUES
> ('1209','it-dokumentation',' [... a big bunch of keywords ...] ')
> aus der Funktion "SearchUpdate::doUpdate". MySQL meldete den Fehler "1062:
> Duplicate entry ' ' for key 3".
When it appeared the first time the trailing remark about where the error
occurred was different (AFAIR, can't reproduce the "first-time-message") saying
also one should try to update the searchindex. Which gives me the same error on
the command line with some more info around:
> >~/tools/php/bin/php -f updateSearchIndex.php
> Updating searchindex between 20050421063319 and 20050422063319
> --- Waiting for lock ---
> Warning: Missing argument 1 for locksearchindex() in
> /home/cddoc/tools/httpd/htdocs/wiki/maintenance/updateSearchIndex.inc
> on line 79
>
> Diba-Tips
> TA-Feedback_JAVA-CodeFormatter
> Loadbalancer_SZZ
> Client-Interface-Philosophie
> AutoHotkey
> News_and_ToDoS_VA
> Dokumentation
> IT-DokumentationA database error has occurred
> Query: REPLACE INTO `searchindex` (si_page,si_title,si_text) VALUES
> ('1209','it-dokumentation',' [... big bunch of keywords ...] ')
> Function: SearchUpdate::doUpdate
> Error: 1062 Duplicate entry ' ' for key 3
>
> Backtrace:
> Database.php line 345 calls wfdebugdiebacktrace()
> Database.php line 297 calls databasemysql::reportqueryerror()
> Database.php line 1057 calls databasemysql::query()
> SearchUpdate.php line 112 calls databasemysql::replace()
> updateSearchIndex.inc line 66 calls searchupdate::doupdate()
> updateSearchIndex.php line 51 calls updatesearchindex()
Any ideas how to get this back to normal? Is there a probated way to just delete
the existing (but obviously somehow corrupted) searchindex and rebuild with the
PHP script afterwards? I would guess "delete * from searchindex where 1" might
be a bit too brutal.
Regards
Philipp