Seite 1 von 4

Volltext Suche mit MySQL

Verfasst: 19.02.2006 21:49
von fanrpg
Also ich habe die search.php ein bisschen umgebaut und habe dort eine nur mit MySQL laufbare Volltextsuche eingebaut.

Hier der Link: www.fanrpg.com/download.php?dl=mysql_fulltextsearch.txt

Das wars an sich schon... funktioniert bei mir auf jeden Fall perfekt. :D

Verfasst: 20.02.2006 10:48
von ATARI
aha und was für Vorteile hat das ganze??

Verfasst: 20.02.2006 14:14
von fanrpg
ATARI hat geschrieben:aha und was für Vorteile hat das ganze??
Also bei mir habe ich eine Leistungssteigerung von um die 50%
Es geht also um einiges schneller die Suche und die Suche dürfte um einiges genauer sein als Standardmässig.

Verfasst: 26.02.2006 13:39
von Toni
Hallo fanrpg,

hoert sich ja eigentlich nicht schlecht an.

Gibt es da keine Resonanz dazu ? Hat das schon jemand eingebaut ?

Heisst das, die Suchwort-Tabelle inkl. der stopwords.txt wird dabei ignoriert ?

Gruss Toni

Verfasst: 27.02.2006 00:13
von fanrpg
Also eingebaut habe ich das jetzt in 7 Foren... bisher ohne Probleme.

Und ja die Suchwort-Tabelle wird bei der Suchmethode komplett ignoriert.
Und alle anderen Suchwort-Spielchen die es im phpBB so gibt.

Verfasst: 27.02.2006 11:49
von larsneo
Also bei mir habe ich eine Leistungssteigerung von um die 50%
Es geht also um einiges schneller die Suche und die Suche dürfte um einiges genauer sein als Standardmässig.
obacht: bei einer grossen anzahl an postings dürfte dies verhältnis aber genau andersherum ausfallen - zumal der ressourcenbedarf an den mysql-server deutlich steigen dürfte...
ebenfalls ist es iirc problematisch falls bei einer volltextsuche die ergebnismenge sehr gross ist (>1000 ergebnisse)

Verfasst: 27.02.2006 15:49
von Fundus
larsneo hat geschrieben:obacht: bei einer grossen anzahl an postings dürfte dies verhältnis aber genau andersherum ausfallen - zumal der ressourcenbedarf an den mysql-server deutlich steigen dürfte...
ebenfalls ist es iirc problematisch falls bei einer volltextsuche die ergebnismenge sehr gross ist (>1000 ergebnisse)
hmm (z.B.) bei vB verweist man auf eben die volltextsuche bei großen boards, da diese eben ressourcen schonender ist :roll:
entweder hat jetzt das vB eine aufwendigere suche als das phpBB (wobei mir da eher das gegenteil im kopf rumspukt) oder die haben einfach keine ahnung :D

Verfasst: 27.02.2006 19:57
von fanrpg
An sich ist die Volltextsuche auch Ressourcen schonender... habe ich auf jeden Fall gehört, deswegen habe ich das überhaupt (mehr oder weniger) entwickelt.

Verfasst: 28.02.2006 08:21
von Gast210225
und ersetzt das mit diesem:

Code: Alles auswählen

//$match_word = str_replace('*', '%', $split_search[$i]);
$match_word = stripslashes(trim($split_search[$i]));
$sql = "SELECT m.post_id
           FROM phpbb_posts_text w, phpbb_posts m
           WHERE MATCH w.post_text AGAINST ('$match_word')
                      AND w.post_id = m.post_id";
Wenn nun jemand ein andeses Prefix als "phpbb_" hat, gehts nicht ;)

Verfasst: 28.02.2006 10:39
von fanrpg
JG hat geschrieben:
und ersetzt das mit diesem:

Code: Alles auswählen

//$match_word = str_replace('*', '%', $split_search[$i]);
$match_word = stripslashes(trim($split_search[$i]));
$sql = "SELECT m.post_id
           FROM phpbb_posts_text w, phpbb_posts m
           WHERE MATCH w.post_text AGAINST ('$match_word')
                      AND w.post_id = m.post_id";
Wenn nun jemand ein andeses Prefix als "phpbb_" hat, gehts nicht ;)
Danke, hab ich gar nicht dran gedacht verbessere ich mal kurz :wink: