Elasticsearch und Suchbegriffe trennen - Shopware Doku nicht aktuell

Die Suche ist in Shopware 6 recht abenteuerlich und ergibt teilweise keinen Sinn. Weiß nicht, ob die Suche wirklich von erfahrenen Leuten programmiert wurde oder von einer Katze die am Wochenende über die Tastatur gelaufen ist. Sorry, aber ich kann es nicht mehr nachvollziehen.

Bei einem Kunden Shop ist uns aufgefallen, dass die Funktionalität „Suchbegriffe trennen“ bei Produktnummer wohl erst funktioniert, wenn Elasticsearch installiert ist. Hier stellt sich schon allgemein die Frage wieso? Laut Doku sollte das aber ohne Elasticsearch funktionieren. Denn in der Doku steht NICHT drin, dass diese Funktionalität erst mit Elasticsearch verfügbar ist. In der Doku steht nur drin, das Elasticsearch als Basis für Advanced Search benötigt wird.

So heißt es unter Abschnitt Allgemein:

Suchbegriffe trennen (4): Suchbegriffe mit bestimmten Sonderzeichen wie - oder / und so weiter werden aufgeteilt. Die Produktnummer ist z. B. PT-64/515. Wenn aktiviert, würde er nach PT, 64 und 515 suchen. Wenn es inaktiv ist, wird es nicht aufgeteilt, dann wird nach PT-64/515 gesucht.

Genau diese Funktionalität wünscht sich der Kunde im Shop. Kann zwar abgebildet werden, aber dann wird es wirklich abenteuerlich.

Im Standard ohne Elasticsearch, kann man wohl Pruktnummern nur von links nach rechts suchen. Benutzt man nur einen Teil der Produktnummer (.z.B die letzten 4 Stellen), greift die Suche einfach nicht mehr.

Ist Elasticsearch und bei Produktnummer „Suchbegriffe trennen“ aktiv, kommt sonderbare Ergebnisse raus. In einem Test mit „ABC-12345“ (das Produkt gab es nur einmal im Shop) ergaben sich folgende Ergebnisse:

Elasticsearch aktiv / Suchbegriffe trennen bei Produktnummer nicht aktiv

Suchbegriff: ABC-12345
14 Ergebnisse

Suchbegriff: ABC
13 Ergebnisse

Suchbegriff: 12345
0 Ergebnisse

Elasticsearch aktiv / Suchbegriffe trennen bei Produktnummer aktiv

Suchbegriff: ABC-12345
858 Ergebnisse !!!

Suchbegriff: ABC
13 Ergebnisse

Suchbegriff: 12345
32 Ergebnisse

Und wenn ich „Elasticsearch“ deaktiviere wird mit Suchbegriff „ABC-12345“ nur ein Artikel gefunden - so weit korrekt. Ansonsten Index wurde mehrmals neu aufgebaut, aber die Ergebnisse wurden nicht besser. Wenn man sich mit dem Thema den ganzen Tag beschäftigt, alles ausprobiert und durchtestet, ist man auch breit zum Feierabend.

Wie soll man grundsätzlich dieses Such-Verhalten einem Kunden bzw. Shopbetreiber vermitteln?

Auf ein Wort!

Update und Fazit:

Fehler 1:

Im Abschnitt „Allgemein“ wird nicht darauf hingewiesen, dass die Funktionalität „Suchbegriffe trennen“ erst mit „Elasticsearch“ bzw. ab SW 6.5.6 mit „Opensearch“ funktioniert. Wieso steht das hier nicht?

Fehler 2:

Im Abschnitt „Advanced Search“ und „Voraussetzungen“ gehen die Links mit 404 Error ins Leere. Hier fehlt der Hinweis bezüglich SW 6.5.6 auf Advanced Search 2.0. Hier muss also der dieser Link stehen:

Fehler 3:

Beim Abschnitt „Weitere Kompatibilitäten“ fehlt der Hinweis, dass ab SW 6.5.6 nur mit „Opensearch“ funktioniert.

Fazit:

Die Shopware Doku ist Scheiße nicht auf aktuellem Stand! Aufgrund dieser Doku wurden Fehleinstellungen getroffen, was sehr viel Zeit und Nerven gekostet hat.

Liebe Freunde in Schöppingen bitte mal die Dokumentation auf aktuellen Stand bringen.

Wir hätten gerne im Shop das gleiche Feature also das Suchbegriffe in der Produktnummer getrennt werden. Was empfiehlst du jetzt zu installieren und sehe ich das richtig das Advanced Search 2.0 nur mit einem Evolve oder Beyond Plan genutzt werden kann? Wir haben die kostenlose Version in Benutzung, da können wir das gar nicht nutzen?

Eigentlich sollte in der Standard-Suche möglich sein, ohne Opensearch, ohne zusätzliche Plugins oder sonstige Server-Erweiterungen. Die jetzige Lösung ist Mist, Sorry, wenn ich das so sagen muss.

Wir haben nun Opensearch in der Version 2.18.0 im Einsatz. Das geht auch in der normalen CE-Version. Nur Advanced Search ist erst bei einem Plan verfügbar. Wird aber für die Trennung nicht benötigt. Und laut Shopware eigener Doku sollte das im Standard ja möglich sein - ohne Opensearch.

Aber leider sind wir immer noch nicht mit dem Suchergebnissen glücklich und auch nicht die Kunden, welche im Shop die Suche benutzen.

Punkt 1:

Nehmen wir an, ein Produkt hat die Produktnummer „ABC-12345“. Ohne Opensearch wird im Standard bei der Suche das Produkt nur einmal gefunden, also wenn man „ABC-12345“ komplett eintippt. Soweit völlig korrekt.

Ist aber nun Opensearch eingerichtet und aktiv, werden auch andere Produkte angezeigt, die mit dem Produkt „ABC-12345“ gar nichts zu tun haben. Gott sei Dank, steht in den meisten Fällen aber das eigentliche Produkt an erste Stelle. Aber die Anzeige verwirrt dennoch die Kunden. Wir haben jetzt auch keine Einstellung gefunden, wie man das begrenzen kann.

Punkt 2:

Uns ist aufgefallen, dass beim Einsatz von Opensearch auch viel mehr Arbeitsspeicher verbraucht wird. Ein Kollege von mir hat das dann irgendwie begrenzen müssen, weil Opensearch den Shop extrem langsamer gemacht hat. Kunden haben sich beschwert.

Am Ende ein Aufwand, nur damit man bei der Suche auch nach „12345“ suchen kann!!! Wer denkt sich so ein Suchverhalten aus?

So geht es mir auch. Die normale Suche ist für viele Fälle nicht zu gebrauchen und mit OpenSearch gibt es viel zu viele Ergebnisse, obwohl ein eindeutiger Treffer vorhanden ist. Eine Möglichkeit das einzugrenzen habe ich nach langer Suche auch nicht gefunden. OpenSearch liefert einem einfach alles, was ansatzweise passt. Aber eine Begrenzung um z.B. nur die Ergebnisse mit einem Score bis maximal 75% des Topwerts anzuzeigen, ist mir nicht gelungen einzurichten.

Alles sehr gut getestet und dokumentiert. Ich habe selbst leider mehrfach auch schon die Erfahrung gemacht dass die Doku einfach veraltet, ungenau oder einfach zu kurz war um die Funktion zu verstehen.

Wenn du eine kommerzielle Lizenz hast einfach Ticket auf account.shopware.com eröffnen mit allem was du hier geschrieben hast (auch Link zu diesem Thread).

Besser Ticket aufmachen als Feature request auf feedback.shopware.com, da dort ewig nicht passiert (sehr viel schon gevotet und erstellt).

Genau mein Humor. Genau das haben wir gemacht. Als Antwort kommt zurück, dass wir „Advanced Search“ aktivieren sollen. Das ist aber nicht was in der so tollen Doku steht. Auf die Beschreibung in der Doku wurde im Ticket gar nicht eingegagen.

Besser noch, der Shopware Support hat teilweise sogar Unsinn geschrieben und sich später dafür noch Entschuldigt. Bedeutet, selbst dem Support sind gewisse Dinge wohl nicht klar.

Leider auch keine zeitnahe Lösung die man einem Shopbetreiber anbieten kann. Denn seine Kunden beschweren sich, warum man nicht ein Teil einer Produktnummer in der Suche eingeben kann. Und dem Shopbetreiber muss man noch beibringen, was in der Shopware Doku steht ist schlitweg nicht richtig. Wie soll man das einem Shopbetreiber vermitteln (dem man übrigens zum Umstieg von SW5 auf SW6 geraten hat) vermitteln? Wie lange soll er auf die grundlegene Umsetzung warten?

Grundsätzlich stellt sich die Frage, warum in einem Shopsystem die Suche nach einem Teil der Produktnummer ohne zusätzlichen „Schnickschnack“ nicht möglich ist, obwohl die Doku das aber beschreibt?