Häufige Fragen
Die Fragen, die in der Praxis am häufigsten kommen — vor allem die eine, an der die beschleunigte Suche sich anders verhält als die Standard-Suche.
Ich finde einen Datensatz nicht mehr, den ich vorher gefunden habe
Sehr wahrscheinlich hast du mitten in einem Wort gesucht. Das ist der eine echte Verhaltensunterschied:
Die Standard-Suche prüft jeden Datensatz einzeln und findet deinen Begriff an jeder Stelle eines Wortes. Genau das macht sie langsam. Die beschleunigte Suche schlägt im Index nach — und der ist nach Wortanfängen sortiert. Sie findet deinen Begriff also ab dem Wortanfang.
Ein Beispiel mit dem Nachnamen »Kandidat«:
- »Kandi« findet den Datensatz — der Begriff steht am Wortanfang.
- »andida« findet ihn nicht mehr — der Begriff steht mitten im Wort.
Betroffen sind die Felder, die über einen Index laufen:
| Suche ab Wortanfang | Suche an jeder Stelle |
|---|---|
| Vor- und Nachname, Firma, Straße, Ort, E-Mail-Adresse, Produktname, Kundennummer, Bestellnummer, Artikelnummer, EAN, Herstellernummer | Tags, Produkt-Suchbegriffe, Sendungsverfolgungsnummern, Belegnummern, Postleitzahl, Telefonnummer, Adresszusätze, Land |
Wenn du auf die Suche mitten im Wort angewiesen bist, schalte den betroffenen Bereich in den Plugin-Einstellungen ab. Die Suche ist dann wieder langsam, aber verhält sich exakt wie vorher.
Meine Suche ist trotz Aktivierung nicht schneller geworden
Vier Ursachen, in dieser Reihenfolge zu prüfen:
- Die Indizes sind noch nicht aufgebaut. Schau in den Plugin-Einstellungen nach — steht dort ⚠ oder ein Zähler wie »2 von 4«, fehlt noch etwas. Indizes aufbauen
- Ein aktives Suchfeld bremst den Bereich aus. Ein einziges nicht abgedecktes Feld zieht die ganze Suche auf die Standard-Suche zurück. Unter Profil → Sucheinstellungen weist dich ein Banner auf die betroffenen Felder hin. Sucheinstellungen lesen
- Ein abgewähltes Feld gehört zu einer Indexgruppe. Fehlt einer Gruppe (z. B. Name + E-Mail bei Bestellungen) ein Mitglied, weil du es abgewählt hast, fällt die Gruppe komplett auf die Standard-Suche zurück. Sucheinstellungen lesen
- Der Hauptschalter ist aus. »Admin-Suchoptimierung aktivieren« und der Bereichs-Schalter müssen beide an sein.
Bleibt es unklar, hilft die Such-Diagnose — sie protokolliert, warum eine Suche welchen Weg genommen hat.
Ich habe auf »Indizes aufbauen« oder »Indizes entfernen« geklickt, es passiert nichts
Beide Aktionen laufen über die Message-Queue und brauchen einen laufenden Worker. Läuft keiner, bleibt der Auftrag in der Warteschlange liegen. Nach einigen Minuten ohne Fortschritt weist dich das Plugin darauf hin.
Prüfe, ob dein Worker läuft — oder nutze die Konsole, dort wird kein Worker gebraucht:
# Indizes anlegen
bin/console coe:admin-search:index --create
# Indizes entfernen
bin/console coe:admin-search:index --dropWarum werden die Indizes nicht bei der Installation angelegt?
Weil das Anlegen eines Index auf einer großen Tabelle dauert und Last erzeugt — bei den Volltext-Indizes sind Schreibzugriffe auf die betroffene Tabelle währenddessen blockiert. Diesen Moment solltest du selbst wählen, statt ihn beim Installieren ungefragt zu bekommen. Auf einer großen Bestelltabelle kann das spürbar sein; ein ruhiges Zeitfenster ist die richtige Wahl.
Sehr kurze Suchbegriffe werden nicht schneller
Das ist so gewollt. Deine Datenbank nimmt Wörter unterhalb einer Mindestlänge (üblicherweise drei Zeichen) gar nicht erst in den Volltext-Index auf — ebenso wenig sehr häufige Füllwörter. Für solche Begriffe kann der Index keine Antwort liefern, also übernimmt die Standard-Suche.
Du findest trotzdem alles: Diese Suchen sind lediglich nicht beschleunigt.
Kann die Suche unvollständige Ergebnisse liefern?
Nein — das ist die zentrale Zusage des Plugins. Sobald auch nur ein Teil einer Suche nicht sauber über die Indizes beantwortbar ist, gibt das Plugin die gesamte Suche an die Standard-Suche ab. Du bekommst dann das gewohnte, vollständige Ergebnis. Das gilt auch, wenn technisch etwas schiefgeht: Im Zweifel fällt das Plugin zurück, statt zu raten.
Die einzige Ausnahme ist die Suche ab Wortanfang, die oben in der ersten Frage beschrieben ist.
Bei sehr vielen Treffern greift die Beschleunigung nicht
Suchst du in einer Listenansicht nach einem sehr allgemeinen Begriff, der auf zehntausende Datensätze passt, schaltet das Plugin auf die Standard-Suche zurück. In dieser Größenordnung bringt die Beschleunigung nichts mehr — der Umweg würde die Suche eher verlangsamen. In der Praxis passiert das nur bei Begriffen, die ohnehin keine brauchbare Trefferliste ergeben.
Wir nutzen Elasticsearch für die Administration
Dann übernimmt Elasticsearch die Suche und das Plugin greift nicht ein. Die Symbole unter Profil → Sucheinstellungen werden in diesem Fall ausgeblendet, weil eine Aussage über die MySQL-Indizes dort irreführend wäre. Das Plugin ist die Alternative zu Elasticsearch, nicht dessen Ergänzung.
Warum zeigt die Suchindex-Karte englische statt übersetzte Bezeichnungen?
Läuft deine Administration in einer Sprache, für die das Plugin keine eigene Übersetzung mitbringt — alles außer Deutsch und Englisch —, zeigt die Suchindex-Karte die Bezeichnungen auf Englisch. Das ist Absicht: lieber eine lesbare englische Bezeichnung als ein technischer Name wie coe_ft_order_customer_search. Deutsch und Englisch sind vollständig übersetzt.
Verändert das Plugin etwas für meine Kunden?
Nein. Das Plugin wirkt ausschließlich in der Administration. Die Suche in der Storefront, der Warenkorb, der Checkout und alle Kundendaten bleiben unberührt. Es legt auch keine eigenen Daten an — es beschleunigt nur den Zugriff auf das, was Shopware ohnehin speichert.
Was passiert beim Deinstallieren?
Das Plugin entfernt die Suchindizes, die es angelegt hat, und hinterlässt die Tabellen sauber. Deine Daten bleiben vollständig erhalten. Wählst du beim Deinstallieren die Option, Daten zu behalten, bleiben auch die Indizes bestehen.
Betreibst du einen großen Katalog, entferne die Indizes vorher manuell in einem ruhigen Wartungsfenster — Details unter Plugin installieren und aktivieren.
Wirf deine Aufgabe rein — im Schnitt ist sie in 72 Stunden erledigt. Ohne Angebotsschleife, ohne Stundenzettel, ohne Meeting-Zwang. Und wenn's nicht mehr passt: jederzeit kündbar.