Suchmaschine entwickeln?
Guten Tag,
ich muss für die Schule eine Suchmaschine entwickeln mit der Hilfe von PHP und MySQL.
Meiner Meinung nach gibt es ja verschiedene Möglichkeiten diese zu erstellen.
Eine wäre ja das ich z.b Namen in die Datenbank eintrage und diese mir dann ausgegeben werden wenn ich die suchleiste verwende. Z.b ich suche den Namen Müller und dann werden mir alle Namen ausgegeben die mit nachnamen Müller heißen.
Und die andere wäre glaube ich das man das nur mit php einrichtet und die Datenbank dann alles speichert was in die suchleiste eingegeben wird.
Falls eines davon nicht gehen sollte oder vom Sinn her absolut unnötig ist oder so dann korrigiert mich bitte.
Meine Frage an sich wäre wie ich vorgehen soll, also die erste Möglichkeit die ich als erstes beschrieben habe oder die 2.
Danke im voraus :).
2 Antworten
![](https://images.gutefrage.net/media/user/regex9/1455660989427_nmmslarge__0_13_270_270_615d5a3bc6888f4c1486ce2b4d9d8f60.png?v=1455660989000)
(...) und die Datenbank dann alles speichert was in die suchleiste eingegeben wird
Das wäre nicht sinnvoll, da der Nutzer ja nach vorhandenem Inhalt suchen möchte.
Meine Frage an sich wäre wie ich vorgehen soll, (...)
Bestimme zunächst einmal die relevante Suchmenge.
Wenn der Nutzer bspw. nach Artikelüberschriften / Produktbezeichnungen / Namen suchen können soll, brauchst du im Grunde nur eine Spalte einer bestimmten Datenbanktabelle durchsuchen. Da du keine großen Datenmengen vorrätig haben wirst, kannst du mit LIKE im SQL Query arbeiten.
Wenn der Nutzer nur Text auf der aktuellen Seite suchen können soll, würde es ausreichen, die Texte, die gerendert werden, einmal zu einem Text zusammenfassen und diesen mit PHP durchsuchen. Auch eine Lösung mit JavaScript wäre vorstellbar (einmal über bestimmte DOM-Knoten iterieren und in deren Textknoten Ausschau halten).
Für eine einfache Volltextsuche über alle Inhalte kann MATCH ... AGAINST hilfreich sein. Ein einfaches Beispiel findest du hier: https://inside-intermedia.de/die-volltextsuche-in-mysql-richtig-nutzen.
![](https://images.gutefrage.net/media/user/heizfeld/1587311154865_nmmslarge__0_0_1071_1071_bc5135be7491cfde9c137ff703a118b0.jpg?v=1587311155000)
Ja, das ist eine komplexe organisatorische Aufgabe.
Man sollte nicht gleich anfangen zu programmieren sondern erstmal zu formulieren was man eigentlich dazu braucht. z.B. eine Sammlung von schlüsselwörtern die zur eigentlichen Information führen. Algorithmen für volltextsuche usw.
Ich hätte sowas gerne programmiert, aber dafür wurde ich leider nicht bezahlt.
Ich beneide dich um diese schöne aufgabe