Ich arbeite an der Suchfunktion auf meiner Website. Ich möchte Benutzern einen optimalen Suchmechanismus bieten. Ich benutze PHP/MySQL.MySQL Volltextsuche?
Angenommen, Benutzer suchten nach "Sport".
Ich habe 30 Datensätze mit Wort "Sport" und 5 Datensätze mit Wort "Sport", aber wenn ich nach Sport suche, dann gibt folgende Abfrage nur das Ergebnis 30 zurück, die das Wort "Sport" haben. Aber eigentlich denke ich, dass der beste Weg, ein gutes Suchergebnis zu erzielen, darin besteht, alle 30 + 5 Datensätze anzuzeigen, alle Datensätze, die Sport oder Sport haben.
SELECT DISTINCT p.id, p.title, p.descr, p.tags FROM pdata p WHERE MATCH (p.title, p.tags, p.descr) AGAINST ('sport')
Bitte sagen Sie mir einige Artikel oder einige Tipps & Tricks, die ich in der Lage sein, ein gutes Suchfunktionalität bereitzustellen.
Hit das Ziel :) wow. Hey, es funktioniert perfekt. Aber ich verstehe nicht, warum es mir vorher keine Daten gegeben hat (ohne * und IN BOOLEAN MODE-Schlüsselwort) ?? Erzähl es mir bitte. – Prashant
Aber noch ein Problem .. Wenn ich nach AGAINST suche ('ipl *' IM BOOLEAN-MODUS), dann gibt es nur ein Ergebnis, während ich ungefähr 5 Datensätze habe, die ein "ipl" -Wort in Titel, Tags und descr-Spalten haben. Warum dann sein einziges Ergebnis? und wenn ich "ICL" suche, dann gibt es 0 zurück, während ich einen Datensatz habe, der ICL enthält. – Prashant