Seite 1 von 1
Suche
Verfasst: 27.08.2005 11:14
von Maniac5000
Kann ich auch die Suche auf meiner Homepage verwenden?
also, ähnlich wie
Wie kann ich das phpBB-Login auf meiner Homepage verwenden?
aber dann sollen auch die texte auf meiner homepage durchsucht werden
Verfasst: 28.08.2005 19:05
von Maniac5000
*push*
Verfasst: 28.08.2005 19:14
von Uncle Sam
So einfach wie die Verwendung des Logins ist das nicht und es funktioniert auch nur, wenn die Texte in der DB gespeichert werden. Vermutlich wäre es wesentlich leichter eine eigene Suche zu programmieren.
Sam
Verfasst: 29.08.2005 19:38
von Maniac5000
und wie kann ich jeden text autmoatisch in die datenbak eintragen?
Verfasst: 29.08.2005 21:44
von D@ve
Maniac5000 hat geschrieben:und wie kann ich jeden text autmoatisch in die datenbak eintragen?
Du machst aus dem Text per explode() ein Array und schreibst jedes Wort einzeln in eine Suchtabelle, die zB die URL der Seite enthält, oder eben eine eindeutige ID wie bei phpBB.
Gruß, Dave
Verfasst: 29.08.2005 22:59
von Jensemann
D@ve hat geschrieben:
Du machst aus dem Text per explode() ein Array und schreibst jedes Wort einzeln in eine Suchtabelle, die zB die URL der Seite enthält, oder eben eine eindeutige ID wie bei phpBB.
Und da man normalerweise eh nur nicht-case-sensitive suchen möchte wandelt man die Wörter vorher in eine konstante Schreibweise um (groß oder klein), um die SQL Abfrage beim Suchen zu beschleunigen.
Ausserdem ersetzt man alternative Schreibweisen (ae statt ä oder andersrum).
Zur Würze des ganzen sollte man eine wort-ignorieren Liste verwenden um ständig vorkommende Wörter wie die, der, das, wo u.s.w. die gar keine relevante Bedeutung haben auszulassen um den Index nicht unnötig groß zu machen.
Dazu garnieren wir jetzt noch eine Funktion um Synonyme korrekt zu behandeln. Am besten auch noch einen Counter der sagt wie oft ein Wort in einer Seite vorkommt um ein performantes Ranking zu generieren.
Vielleicht wäre es sinnvoller eins der unzählig vorhandenen Suchscripte zu nutzen, oder eben auf Google zu verlinken.