Ratgeber

So fügst du deiner App Suche hinzu: von einfachen Filtern bis zur Volltextsuche

Um deiner App Suche hinzuzufügen, fang mit dem einfachsten Ansatz an, der funktioniert: ein Suchfeld, das eine Server-Route aufruft. Diese filtert deine Datenbankzeilen, indem sie die Suchanfrage mit einigen Spalten abgleicht, dazu kommen Filter wie Kategorie oder Preis. Wenn das nicht reicht, weil du Relevanzsortierung, Wortstämme oder sehr viele Datensätze brauchst, wechsle zur Volltextsuche deiner Datenbank. Ein externer Suchdienst lohnt sich erst, wenn du starke Toleranz bei Tippfehlern oder sofortige Ergebnisse über sehr große Datenmengen brauchst. Was du auch wählst: Die Suche muss Berechtigungen respektieren. Nutzer sollten nie Datensätze finden, die sie nicht sehen dürfen.

Was „Suche“ für deine App bedeutet

Suche umfasst mehrere Dinge, und die meisten Apps brauchen mehr als eines davon:

  • Stichwortsuche: ein Textfeld, zum Beispiel „Anzeigen mit ‚Garten‘ finden“.
  • Filter: strukturierte Auswahl, etwa Kategorie, Stadt, Preisspanne, Datum oder Status.
  • Sortierung: neueste, günstigste, relevanteste.
  • Autovervollständigung: Vorschläge während des Tippens.
  • Toleranz bei Tippfehlern: „Restuarant“ findet trotzdem „Restaurant“.

Bei einem Verzeichnis, einer Jobbörse oder einem Shop sind Filter oft wichtiger als das Textfeld. Entscheide, was du davon wirklich brauchst, bevor du ein Werkzeug auswählst.

Deine Optionen

AnsatzSo funktioniert erGeeignet fürGrenzen
Filtern im BrowserListe laden und per JavaScript filternKleine öffentliche Listen (ein paar hundert Einträge)Alle Daten gehen an jeden Besucher; bei großen Listen langsam
Mustersuche in der DatenbankServerabfrage wie „Name enthält Text“, ohne Beachtung der Groß- und KleinschreibungKleine bis mittlere Apps, Admin-WerkzeugeKeine Relevanzsortierung; bei großen Tabellen langsam; kein Stemming
Volltextsuche in der DatenbankPostgres indiziert Wörter und sortiert Treffer nach RelevanzDie meisten inhaltsintensiven AppsSchwach bei Tippfehlern, solange keine unscharfe Suche ergänzt wird
Unscharfe Suche (Trigramme)Postgres vergleicht Zeichenfolgen auf ÄhnlichkeitNamen, kurze Felder, Toleranz bei TippfehlernBraucht eine Erweiterung und einen Index; die Feinabstimmung kostet Zeit
Gehosteter SuchdienstEin separater Dienst indiziert deine Daten (Algolia, Meilisearch, Typesense, Elasticsearch und andere)Große Kataloge, Sofortsuche, starke Toleranz bei TippfehlernEin weiterer Dienst, der synchron gehalten, bezahlt und abgesichert werden muss

Wenn deine Daten bereits in Postgres liegen, ist die eingebaute Volltextsuche eine starke Zwischenlösung. Sie zerlegt Text in Wörter, führt sie auf Wortstämme zurück (so findet eine Suche nach „Wohnung“ auch „Wohnungen“), ignoriert häufige Füllwörter und kann Treffer nach Passgenauigkeit sortieren. Mit dem richtigen Index bleibt sie auch bei großen Tabellen schnell.

Beispiel-Prompts

Ein einfacher Einstieg:

Füge der Inseratseite ein Suchfeld und Filter hinzu. Die Suche soll den Suchbegriff mit Titel und Beschreibung abgleichen, ohne Beachtung der Groß- und Kleinschreibung. Filter: Kategorie (Auswahlliste), Stadt (Auswahlliste) und maximaler Preis. Die Suche läuft auf dem Server über eine paginierte API-Route mit 20 Ergebnissen pro Seite. Halte Suche und Filter in der URL, damit Ergebnisse geteilt werden können und die Zurück-Taste funktioniert. Zeig einen freundlichen leeren Zustand, wenn nichts passt.

Auf Volltextsuche umstellen:

Stelle die Inseratesuche auf die Volltextsuche von Postgres um, mit Titel (höher gewichtet) und Beschreibung. Füge den passenden Index hinzu, sortiere die Ergebnisse nach Relevanz und behalte die vorhandenen Filter und die Paginierung bei. Ändere keine bestehenden Daten.

Toleranz bei Tippfehlern für Namen ergänzen:

Füge unscharfe Suche auf den Firmennamen hinzu, damit kleine Tippfehler trotzdem Ergebnisse liefern. Nutze Trigramm-Ähnlichkeit, falls verfügbar, mit einem Index, und falle auf die aktuelle Suche zurück, wenn sie nicht verfügbar ist.

Schritt für Schritt

  1. Lege fest, wonach Leute suchen. Welche Felder (Titel, Beschreibung, Schlagwörter, Name)? Welche Filter? Frag nach Möglichkeit ein paar echte Nutzer.
  2. Starte auf dem Server. Lege eine API-Route an, die Suchbegriff und Filter entgegennimmt und eine Seite mit Ergebnissen zurückgibt. Lade nicht alles in den Browser.
  3. Wende Berechtigungen in der Abfrage an. Wenn Nutzer nur ihre eigenen Datensätze oder nur veröffentlichte sehen dürfen, gehört diese Bedingung in dieselbe Abfrage wie die Suche.
  4. Füge von Anfang an Paginierung hinzu, also Seitenzahlen oder „Mehr laden“.
  5. Lege den Suchzustand in die URL (zum Beispiel ?q=garten&stadt=leeds). So sind Links teilbar, die Zurück-Taste funktioniert, und Suchmaschinen können gefilterte Seiten crawlen, wenn du das möchtest.
  6. Verzögere die Suche beim Tippen. Warte nach dem Tippen ein paar hundert Millisekunden, bevor du abfragst, damit nicht bei jedem Tastendruck eine Anfrage geht.
  7. Lege Indizes an, sobald du weißt, nach welchen Spalten du suchst und filterst.
  8. Steigere dich schrittweise: erst Volltextsuche, dann unscharfe Suche, dann ein gehosteter Dienst, und zwar nur, wenn die einfachere Stufe echte Nutzer enttäuscht.
  9. Teste mit realistischen Daten: Hunderte oder Tausende Zeilen, ungewöhnliche Zeichen, leere Suchanfragen, sehr lange Anfragen und andere Sprachen, falls du sie unterstützt.

Häufige Fehler

  • Die ganze Tabelle in den Browser laden. Für 50 Einträge in Ordnung, für 50.000 quälend, und jeder Datensatz ist sichtbar, auch die, die der Nutzer nicht sehen darf.
  • Suche, die Berechtigungen ignoriert. Die Suche ist ein häufiges Datenleck: Ein privater oder unveröffentlichter Datensatz taucht auf, weil die Suchabfrage die Bedingung „nur meine“ oder „nur veröffentlichte“ vergessen hat.
  • SQL aus Nutzereingaben zusammenbauen. Verwende immer parametrisierte Abfragen. Ein KI-Baukasten macht das normalerweise, prüfe aber, ob Zeichenketten zusammengeklebt werden.
  • Kein leerer Zustand. „Keine Ergebnisse“ mit einem Vorschlag (Filter zurücksetzen, Schreibweise prüfen) hält Leute davon ab, die Seite zu verlassen.
  • Keine Indizes. Die Suche wirkt mit Testdaten flott und wird langsamer, sobald echte Daten wachsen.
  • Sofort zu einem Suchdienst springen. Dann musst du eine zweite Kopie deiner Daten synchron halten, Löschungen verarbeiten und einen weiteren Satz Schlüssel absichern, oft ohne sichtbaren Nutzen.
  • Das Handy vergessen. Filter müssen aufs Telefon passen. Eine Filterschublade oder ein einklappbares Panel funktioniert meist besser als eine Seitenleiste.

Checkliste

  • Du weißt, welche Felder durchsucht werden und welche Filter es gibt
  • Die Suche läuft auf dem Server und liefert paginierte Ergebnisse
  • Die Abfrage setzt dieselben Berechtigungen durch wie der Rest der App
  • Nutzereingaben werden als Parameter übergeben, nie ins SQL geklebt
  • Der Suchzustand liegt in der URL
  • Das Tippen ist verzögert
  • Durchsuchte und gefilterte Spalten sind indiziert
  • Leere, Keine-Treffer- und Fehlerzustände sind klar
  • Getestet mit realistischen Datenmengen und unsauberen Eingaben

Suche mit Mythex hinzufügen

In einer App, die auf Mythex gebaut ist, liegen die Daten meist in der eigenen Postgres-Datenbank des Projekts. Du kannst also mit den Prompts oben starten: erst Mustersuche, dann Volltextsuche in Postgres, wenn du Relevanzsortierung brauchst. Wenn du einen gehosteten Suchdienst willst, bringst du dein eigenes Konto und deinen eigenen Schlüssel mit, speicherst ihn als Projektgeheimnis und bittest den Agenten, den Dienst serverseitig zu indexieren und abzufragen, wie in Integrate any API beschrieben.

Suche ist der Kern vieler Apps: Wie sie in das restliche Produkt passt, zeigen wie du eine Verzeichnis-Website baust, wie du eine Jobbörse baust und wie du einen Marktplatz baust.

Fragen

Was ist der einfachste Weg, Suche in einer App hinzuzufügen?

Wenn deine Daten in einer Datenbank liegen, ist eine Server-Route der einfachste Start, die Zeilen mit einer Suche ohne Beachtung der Groß- und Kleinschreibung über ein paar Spalten filtert. Bei einer kleinen Liste, die schon im Browser geladen ist, reicht sogar das Filtern im Browser.

Brauche ich Algolia oder Elasticsearch für die Suche?

Am Anfang meist nicht. Die Volltextsuche von Postgres bewältigt Wortsuche, Sortierung nach Relevanz und tausende bis Millionen Zeilen gut. Ein gehosteter Suchdienst lohnt sich, wenn du eine starke Toleranz bei Tippfehlern, Ergebnisse während des Tippens über große Datenmengen oder eine fein abgestimmte Relevanz brauchst.

Warum findet meine Suche keine Ergebnisse bei Tippfehlern?

Einfache Abfragen und die Standard-Volltextsuche suchen nach den Wörtern, so wie sie eingegeben wurden (oder ihren Stämmen). Ein Tippfehler trifft dann nichts. Du brauchst unscharfe Suche, etwa Trigramm-Ähnlichkeit in Postgres, oder einen Suchdienst mit Tippfehlertoleranz.

Sollte die Suche im Browser oder auf dem Server laufen?

Für alles über eine kleine öffentliche Liste auf dem Server. Die serverseitige Suche skaliert, respektiert Berechtigungen und schickt nicht deinen gesamten Datenbestand an jeden Besucher.

Mythex · Pricing · Alles mit KI bauen · Vorlagen für Websites und Apps · Mythex im Vergleich · Glossar zum App-Bau mit KI · Kostenlose Tools für den App-Bau mit KI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)