• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Datenbank Suche optimieren

jappi00

Mitglied
Hallo Community,

ich arbeite aktuell an einer umfangreichen Suchfunktion auf meiner Website. Das Ziel ist es eine DB zu durchsuchen. Es funktioniert auch alles wie es soll, allerdings sind die Suchergebnisse eher schlecht. Wie ich dazu komme? Rechtschreibfehler bei der Suche führt zu 0 Ergebnissen. schreibt man etwas falsch herum (z.b. Politik Buch | Buch der Politik) . Dies hängt mit dem LIKE Operator? und % von sql zusammen.
Hier die aktuelle Query
Code:
SELECT * FROM buch WHERE Book OR Tags LIKE '%" . $search . "%' ORDER BY Book ASC

Ich hoffe jemand kennt einen Trick wie ich diese Such Query verbessern kann.

Mit freundlichen Grüßen,
Jappi00
 
Werbung:
Der erste "Trick" wäre, das * gegen eine Auflistung der benötigten Spalten zu ersetzen.
Weiterhin glaube ich nicht, dass die gepostete Query so funktioniert, wie Du es gerne hättest, es sei denn es ist Zufall. Für mein Verständnis müsste es einen SQL Fehler in der Nähe OR geben, denn die Where-Klausel müsste so aussehen:
Code:
WHERE Book LIKE '%" . $search . "%' OR Tags LIKE '%" . $search . "%'
 
Werbung:
Ja, da hast du recht, ist aber auch schon verbessert. Und aktuell ist die Query auf Debug ZWecke ausgelegt weshalb sie auch alles ausgibt. Und ja man sollte * trotzdem nicht verwenden. Danke! Werde mir mal Fulltext anschauen!
 
Zurück
Oben