Einzelnen Beitrag anzeigen
Alt 27.02.2008, 08:27   #1 (permalink)
Fabian
Stickstoff Junkie
 
Benutzerbild von Fabian
 

Registriert seit: 02.02.2002
Beiträge: 3.678

Fabian ist ein wunderbarer AnblickFabian ist ein wunderbarer AnblickFabian ist ein wunderbarer AnblickFabian ist ein wunderbarer AnblickFabian ist ein wunderbarer AnblickFabian ist ein wunderbarer Anblick

Standard MySQL: Volltext-Suche

Hallo,

so ich bin es mal wieder.
Ich möchte eine Volltext-Suche realisieren, dafür bietet MySQL ja entsprechende Funktionen.

- ... WHERE suche LIKE '%firefox%'
- ... WHERE MATCH ( suche ) AGAINST ( 'firefox*' )

Nun die erste Frage: Welche ist schneller? Ich denke die zweite Abfrage ist deutlich schneller, oder?
Zum zweiten: Ich möchte auch ein Ergebnis bekommen, wenn jemand "fox" eingibt. Die LIKE-Methode kann dies Dank der eingefügten Prozentzeichen, bei der zweiten Methode habe ich noch keine Lösung gefunden auch ein '*fox*' hilft leider nichts, die Suche geht nur andersrum, sprich 'fire*' findet auch Firefox.

Ideen?

Gruß
Fabian

Update: Mittlerweile habe ich auch einen Kommentar gefunden. Es geht mit der Volltext-Suche nicht, weil MySQL hier auf einen Index (Baum) zurückgreift und für den sind die ersten Buchstaben logischerweise die wichtigsten. Habt ihr vielleicht doch noch Ideen?

Geändert von Fabian (27.02.2008 um 08:46 Uhr)
Fabian ist offline   Mit Zitat antworten