Suchfunktion - native zu mysql

Da der andere Thread mittlerweile geschlossen wurde und ich zwischen den ganzen wbblern wohl irgendwie untergegangen bin, versuch ichs mal in nem neuen Thread und hoffe darauf, doch noch Hilfe zu bekommen.

Ich hab bisher immer Fulltext native für die Suche benutzt, doch das will nicht mehr. Also hab ich versucht, auf Fulltext mysql umzustellen (wie auch schon, als damals der Thread dazu rauskam), doch es geht nicht…

Forensoftware + Version: phpBB3.0.9

Fehlermeldung:

[code]Allgemeiner Fehler

SQL ERROR [ mysqli ]

Column ‘post_text’ cannot be part of FULLTEXT index [1283]

SQL

ALTER TABLE phpbb_posts ADD FULLTEXT (post_subject), MODIFY post_text mediumtext COLLATE utf8_unicode_ci NOT NULL, ADD FULLTEXT (post_text), ADD FULLTEXT post_content (post_subject, post_text)

BACKTRACE

FILE: includes/db/mysqli.php
LINE: 163
CALL: dbal->sql_error()

FILE: includes/search/fulltext_mysql.php
LINE: 779
CALL: dbal_mysqli->sql_query()

FILE: includes/acp/acp_search.php
LINE: 365
CALL: fulltext_mysql->create_index()

FILE: includes/acp/acp_search.php
LINE: 46
CALL: acp_search->index()

FILE: includes/functions_module.php
LINE: 507
CALL: acp_search->main()

FILE: adm/index.php
LINE: 74
CALL: p_master->load_active()[/code]

Was hab ich versucht?
Da es in einem anderen Forum, nachdem ich die DB auf MyISAM gesetzt hatte, super funktioniert hat, dachte ich dass, es vielleicht hilft, die Kollation wie im anderen Forum automatisch geschehen auf utf8_bin (auf MyISAM war die DB bereits) umzustellen. Hilft nicht…

Was kann/soll/muss ich nun also machen, damit die Suchfunktion wieder läuft? Als jemand der keine Ahnung von mySQL/php hat, gehen mir auch langsam aber sicher die Ideen aus.

LG
Carli

Hi, versuche mal, die MODIFY-Anweisung getrennt vor dem Anlegen des Index auszuführen. Eventuell sortiert MySQL die Anweisungen nicht korrekt.

ALTER TABLE phpbb_posts MODIFY post_text mediumtext COLLATE utf8_unicode_ci NOT NULL ALTER TABLE phpbb_posts ADD FULLTEXT (post_subject), ADD FULLTEXT (post_text), ADD FULLTEXT post_content (post_subject, post_text)

Den ersten Befehl hat es ohne Probleme durchgezogen, beim zweiten kam das hier:
#1283 - Column ‚post_text‘ cannot be part of FULLTEXT index

:uhoh:

Ich denke, es sollte mit folgenden Schritten funktionieren:

  • Alle Fulltext-indizes löschen
  • Die Tabelle und alle enthaltenen Felder auf utf8-encoding mit utf8_unicode_ci stellen
  • Den Fulltext-Index anlegen

Uff. Ich musste erstmal drauf kommen, dass ich in der Tabelle phpbb_posts unten die Indizes auch löschen muss. Wusste gar nicht, dass da auch was ist. Anhand deiner Antwort dachte ich an die im ACP des Forums. Nur war da ja nichts mehr.

Jedenfalls: Es hat geklappt. Wir haben wieder eine Suche, die jetzt auch auf mysql ist.
Ich danke dir. :slight_smile: Kaffee und ein großes Stück Kuchen rüberschieb