Einfache Stichwortsuche
Sven
- programmiertechnik
0 Texter mit x0 Sven
0 Alexander (HH)
Hallo,
vor einigen Jahren erhielt ich hier im Forum den Hinweis, wie man einfach eine kleine Stichwortsuche bauen könnte:
Den Suchbegriff in 2er oder 3er-Gruppen unterteilen:
Aus "Suchbegriff" wird "Su ch be gr if f"
Nach den Einzelstücken in der Datenbank suchen, wobei natürlich nur die Bruchstücke in die Datenbanksuche aufgenommen werden, die auch tatsächlich aus 2 oder 3 Buchstaben bestehen, keine einzelnen Buchstaben.
Suche:
SELECT * FROM tabelle
WHERE spalte1 LIKE '%su%'
OR spalte1 LIKE '%ch%'
OR spalte1 LIKE '%be%'
OR spalte1 LIKE '%gr%'
OR spalte1 LIKE '%if%'
Die Suche funktioniert, ist aber noch etwas ungenau: Wie kann ich denn die Ergebnisse zuerst anzeigen, bei denen möglichst viele Übereinstimmungen existieren?
Hat dazu jemand einen Tipp?
Grüße
Sven
Zuersteinmal, wenn Du die Bruchstücke in der Datenbank hast, warum suchst Du mit LIKE '%ch%' und nicht nach den Bruchstücken? Was hast Du also alles in deiner Datenbank?
Zuersteinmal, wenn Du die Bruchstücke in der Datenbank hast, warum suchst Du mit LIKE '%ch%' und nicht nach den Bruchstücken? Was hast Du also alles in deiner Datenbank?
Na, Fließtexte, Überschriften, Beschreibungstexte, ... Bruchstücke hab ich bisher nicht in die Datenbank geschrieben... ;-)
Moin Moin!
Hat dazu jemand einen Tipp?
Vergiß den Quatsch, einfach Worte in beliebige Stücke zu zerhacken. Das funktioniert bestenfalls zufällig.
Nimm eine fertige Suchmaschine, z.B. Swish-E, oder die in die DB integrierte, und füttere die mit den zu durchsuchenden Texten.
Oder lies Dir wissen an, wie man Texte zum Durchsuchen aufbereitet. http://de.wikipedia.org/wiki/Stemming ist zwar nicht sonderlich ausführlich, aber bietet viele Links zu verwandten Themen. Lies auch die entsprechenden Artikel der englischen Wikipedia, die sind oft ausführlicher und detailierter.
Alexander