Offiziell oder inoffiziell? Man hat dann aber nicht die Konfiguration im Admin?
Für mich klingt das was @R4M getestet hat als Selbstverständlichkeit. Nicht jeder Hoster bietet OpenSearch an. Also es ist für uns ein Trauerspiel. Leider weiterhin richtig dass wir für viel Geld eine separate Suche anbinden.
Offiziell (Set up Elasticsearch | Shopware Documentation). Kannst du einfach andocken. Die Möglichkeiten und Einstellungen der Advanced Search wie Synonyme, Boostings etc. stehen dann natürlich nicht zur Verfügung. Mit einem OpenSearch Server im Hintergrund hast du generell schon mal viel mehr Möglichkeiten. Damit könntest du dir theoretisch auch eine komplett eigene Suche speziell auf eigene Bedürfnisse erstellen. Ist dann aber leider nichts mehr für normale Anwender, da man sich hier tiefer mit der Materie beschäftigen muss.
Selbst wenn ein Hoster OpenSearch/ElasticSearch nicht anbietet, könntest du dir dann zB bei einem anderen Hoster den Server holen und auch mit andocken.
Aber zum eigentlichen Problem: Teilstrings an sich sollten auch gefunden werden in der Regel
In MySQL switching from = to a double wildcard LIKE '%value%' typically increases compute and I/O costs by 10x to 100x+, depending entirely on your table size.
Ja gibt es, gehört aber nicht zum eigentlichen Thema. Auch ohne OpenSearch/ElasticSearch sollte es möglich, nach einem String innerhalb einer Zeichenkette (z.B. Produkttitel) suchen zu können. In SW5 hat das funktioniert - ohne OpenSearch/ElasticSearch. In der tollen neuen Version 6.7.12.1 geht das einfach nicht.
Für Kunden, die von SW5 auf SW6 umgezogen sind, eine nervige Angelegenheit. Wir sind es die den Frust abgekommen, nicht Shopware.
Wie oben schon erwähnt, andere Systeme können das auch - ohne OpenSearch/ElasticSearch. Nur Shopware 6 macht hier Probleme. Vermutlich hat man die Suche verkompliziert.
Vielleicht eines mal vor Augen behalten: Kunden benutzen die Suche ggf. völlig anders als ein Programmierer!
Welches Suchverhalten nutzt du? Ich hatte in einem Shop das Problem, dass mit der „Oder“-Suche nur 34 Artikel gefunden wurden. Teilstring im Name wurde vereinzelt gefunden, aber die meisten Artikel wurden nicht angezeigt. Nach der Umstellzung zur „Und“-Suche, habe ich alle 846 Artikel gefunden.
Beispiel: Bei der Suche nach „mull“ wurde Mullbinde und Fixomull gefunden, aber Verbandmull und Mullkompressen nicht. Nach der Umstellung wurden die Artikel gefunden.
Warum das Suchverhalten bei der Suche nach einem Wort einen Unterschied macht, habe ich nicht recherchiert.
Ich habe „und“ und „oder“ getestet. In beiden Fällen war mein Test nicht erfolgreich.
Shopware findet nur Strings, die sich am Anfang oder am Ende einer Zeichenkette befinden, jedoch nicht was innerhalb steht. In MySQL wäre dies ein „LIKE“ oder „REGEXP“ Befehl.
Kann das auch bestätigen, was R4M schreibt: Teilstrings in der Mitte werden nicht gefunden und das mit Advanced Search / OpenSearch. Wir pflegen hier umfangreiche Suchschlagwörter (Standardfeld in Shopware 6).
Das muss besser laufen mit der Standard-Suche wie auch in OpenSearch.
@Benjamin_Hummel kannst du das Problem der Suche, wenn der Suchbegriff nicht am Anfang oder Ende vorkommt prüfen bzw. prüfen lassen?
Die Antwort, wieso das Shopware nicht implementiert hat, habe ich oben schon gegeben. LIKE Suche in MySQL benötigt um ein Vielfaches mehr CPU Zeit. Bei Shops mit ein paar Produkten oder wenig Besuchern macht das nichts aus. Shopware ist für größere Shops konzipiert, daher ist auch die LIKE Suche nicht im Standard integriert.
OpenSeach ist dafür konzipiert auch Teile von Wörtern effizient zu suchen/finden.
Das einzige sinnvolle was Shopware machen könnte, wäre ein Switch zu integrieren, der für kleinere Shops auf die LIKE Suche umschalten kann. Aber das ist meinem Wissen nach ein größerer Eingriff, da viel angepasst/umgeschrieben werden müsste.
Wieso OpenSearch keine Teile von Wörtern findet ist mir nicht wirklich klar. Das sollte damit möglich sein und auch im Standard ohne Advanced Search.
@Max_Shop
Mich interessiert CPU Last null. Wir haben ca. 3000 Produkte und eine 12 Kern CPU im Webserver, die im Durchschnitt zu 3 Kerne ausgelastet ist.
Wenn ein paar Hundert Euro mehr ausgegeben werden muss für einen dickeren Server und dadurch die Suche sich stark verbessert, amortisiert sich das von alleine.
Und wenn ihr die komplette Suche von Shopware rausschmeisst und eigene Abfragen gegen OpenSearch macht? Die haben ja eine recht mächtige Api. Ist natürlich was den Aufwand angeht ne ganz andere Hausnummer.
Intern in der Firma hatten wir gestern die selbe Idee. Vielleicht zusätzlich zu „und“ „oder“ Suche einen Umschalter und ganz normales Suche mit LIKE oder REGEXP.
Die CPU-Last ist für uns völlig unwichtig - wir haben genug Power
Und nein, OpenSearch kommt aus diversen Gründen nicht mehr zum Einsatz. Zumindest nicht für uns.