Seite 1 von 1
Datenbank klein halten / suchfunktion begrenzen
Verfasst: 28.10.2003 08:32
von msilver
hallo!
gibt es eine möglichkeit wie im vbulleton, die suchfunktion auf sagen wir mal mindest 3 wörter zu begrenzen und somit die mysql datenbank klein zu halten? meine nähert sich schon den 200mb ^^.
mfg
msilver
Verfasst: 28.10.2003 11:51
von Acid
http://www.phpbb.de/doku/kb/artikel.php?artikel=32
Bei 200MB dürfte das interessant sein.
Was genau meinst´n mit "auf 3 Wörter beschränken"? Das man nur noch nach 3 Schlagwörter suchen kann? So das also auch nur noch die Verweise auf Beiträge mit diesen 3 Wörter gespeichert bleiben?
Verfasst: 28.10.2003 11:55
von msilver
Acid hat geschrieben:Was genau meinst´n mit "auf 3 Wörter beschränken"? Das man nur noch nach 3 Schlagwörter suchen kann? So das also auch nur noch die Verweise auf Beiträge mit diesen 3 Wörter gespeichert bleiben?
genau das meine ich
Verfasst: 28.10.2003 12:02
von Acid
Technisch ist es sicherlich irgendwie möglich (z.B. kannst du ja über die search_stopwords.txt (s. obiger Link) Wörter definieren, die nicht bei der Suche aufgenommen werden sollen), nur hat die Suche bei nur 3 möglichen Wörtern keinen richtigen Sinn mehr.
Mach erstmal obige Anpassung. Dann werden die Tabellen um einiges kleiner und wachsen auch nicht mehr so schnell an.
PS: Danach kannst du ja auch erstmal die Tabellen leeren (nicht löschen), so das du nochmal bezüglich der Suche von vorne anfängst.
Verfasst: 28.10.2003 12:14
von msilver
ah ne falsch verstanden
ich meinte damit, dass in die suche keine wörter mit weniger als 3 zeichen gesucht werden können und die datenbank dann sicher um einiges kleiner wird, wenn auch in der mysql datenbank keine wörter mit weniger als 3 zeichen für die suche gesichert werden.
mfg
msilver
Verfasst: 28.10.2003 13:14
von Acid
imho kann man nicht nach Wörtern mit 3 Buchstaben suchen... und um solche Wörter ausszuschliessen gibt´s die search_stopwords.txt.
Verfasst: 28.10.2003 13:43
von PhilippK
Schau mal in die
./includes/functions_search.php, dort gibt's diesen Code hier:
Code: Alles auswählen
// 'words' that consist of <3 or >20 characters are removed.
$entry = preg_replace('/[ ]([\S]{1,2}|[\S]{21,})[ ]/',' ', $entry);
Wenn du aus
ein
machst, sollten Wörter mit 3 Buchstaben nicht mehr indiziert werden. Anschließend würde ich die Wörter mit 3 Buchstaben aus der Suchtabelle löschen und anschließend den
DB Maintenance Mod drüberlaufen lassen.
Gruß, Philipp[/b]