Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
text-felder durchsuchen mit LIKE [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
text-felder durchsuchen mit LIKE


 
Thommy
19-05-2002, 19:05 
 
Hallo Leute,

hab ne Frage zum Durchsuchen von Text-Feldern einer Tablelle. Ich möchte Texte durchsuchen lassen und dabei auch Datensätze mit ähnlicher Übereinstimmung finden. Also wenn Du "Blumen" eingibst soll auch "Blumenstrauss" gefunden werden. Das ist der Grund weshalb ich den mysql-Fultext-Index nicht nutzen kann. Die Lösung die mit einfällt ist die Variante mit LIKE ( LIKE '%Blumen%'). Das Problem dabei ist, dass das ganze nicht gerade schnell ist. Leider kann ich nicht die gesamten Textspalten indezieren, weil mysql maximale Indexlänge von 255 Zeichen zulässt, meine Texte aber länger sind.

Habt Ihr ne Idee oder ein paar Erfahrungswerte wie ich das ganze optimieren könnte??


Gruss

Thommy

 
goth
19-05-2002, 19:36 
 
LIKE ist immer so ein Problem ... da meines Wissens für LIKE eh kein Index verwendet werden kann ... egal ob > oder < 255 Zeichen.

 
JanS
19-05-2002, 22:32 
 
Hallo,

soweit ich weiss gibt es da leider keine andere Möglichkeit. Ab Version 4.01 untertützt die Volltextsuche von MySQL auch Boolesche Operatoren, siehe: http://www.mysql.com/doc/F/u/Fulltext_Search.html (ziemlich am Ende der Seite). Diese Version wirst Du wahrscheinlich kaum installiert haben.
Ich hab das mal gelöst, in dem ich mir einen eigenen Suchindex erstellt habe. Ist aber äußerst aufwändig und unflexibel.

Gruß Jan

 
Thommy
20-05-2002, 00:32 
 
hi,

hast recht die neu version unterstütz sowas. Aber leider nur in der Form

apple*

und nicht

*apple oder *apple*

Schade eigentlich, das wär die Lösung gewesen. Hat sonst noch einer ne Idee, wie ich das ganze etwas beschleunigen könnte???

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:16 Uhr.