ich frage mich, wie ich die Suche korrekt konfiguriere um meine Artikel zu finden… es geht um die Suche nach einem Freitextfeld. Natürlich habe ich bei meinen Versuchen immer den Suchindex neu aufgebaut, den Shop-Cache gelöscht und den Suchcache gelöscht. Das Feld hat Wert 400 in der Suche, der Artikelname hat 70. Andere Felder durchsuche ich nicht.
Beispiel 1
das Feld ist in der Suche auf “splitten” eingestellt.
RESULT: eigentlich möchte ich bei Suche nach “ABC DEF” nur “ABC DEF 2.0 DUO” finden und nicht “ABC XYZ GB X”. Bei Suche nach "“ABC DEF 2.0” erst recht. Ich stelle das Feld also auf “nicht splitten”
Beispiel 2
Feld ist in Suche als “nicht splitten” definiert
a) Ich suche nach “ABC DEF”.
–> Ergebnis: ich finde gar keinen Artikel mehr
b) ich suche also nach komplettem Inhalt “ABC DEF 2.0 DUO”
–> auch hier finde ich jetzt gar nichts, obwohl die Eingabe genau dem Wert im Feld entspricht.
RESULT: wieso finde ich jetzt gar keinen Artikel mehr? Sollten jetzt nicht alle Artikel kommen, die den String “ABC DEF” irgendwo im Freitextfeld haben? Also Like-Suche nach “%ABC DEF%” ? Wieso finde ich auch bei genauer Eingabe des kompletten Strings kein Ergebnis?
das muss ich doch mit Bordmitteln machen können? wie machen das andere?
ich will doch nur eine Like-Suche in meiner Nummer/Freitextfeld. Die Suche ist doch eh auf “UND” eingestellt und das Feld auf “nicht splitten”. Für mich bedeutet genau das eigentlich eine Like-Suche… oder führt “nicht splitten” zu einer erzwungenen exakten Suche? Dann erklärt das für mich nicht, wieso ich auch bei exakter Eingaber nichts finde wenn auf “nicht splitten” steht…
EDIT: also wenn ich das Plugin nutze, dann funktioniert in der Suche überhaupt nix mehr… noch viel schlechter als vorher. Es kommen völlig willkürliche Treffer die nicht mal ansatzweise den eingegebenen Begriff enthalten…
EDIT: also wenn ich das Plugin nutze, dann funktioniert in der Suche überhaupt nix mehr… noch viel schlechter als vorher. Es kommen völlig willkürliche Treffer die nicht mal ansatzweise den eingegebenen Begriff enthalten…
Das ist so nicht ganz richtig, da die Suche nur in bestimmten Feldern und nicht überall sucht so wie es in Shopware üblich ist. Sie kann also nur in einem bestimmten Freitextfeld suchen (falls eingestellt). Und wenn du „ABC DEF“ eintippst, dann wird alles anzeigt was mit „ABC DEF“ beginnt.
Ist auch egal, muss ja nicht testen.
PS: Shopware ist keine eierlegende Wollmilchsau, desahlb gibt es zusätzliche Plugins
@R4M ich habe es getestet. Es wird völlig willkürlich Treffer angezeigt… die enthalten nicht mal ansatzweise “ABC DEF” und auch nicht “ABC” oder “DEF” einzeln… es kommt einfach irgendwas. Und egal nach was ich suche, es sind immer die selben Treffer.
Ich habe mal für dich getestet. Und zwar mit dem Plugin was deiner Meinung nach “willkür” anzeigt. Also wenn ich dich richtig verstanden habe, dann sollte die Suche doch so sein oder?
Uncaught Assert\InvalidArgumentException: The limit must be greater than equals 1 in /usr/www/users/shopww/shop/vendor/beberlei/assert/lib/Assert/Assertion.php:288 Stack trace: #0 /usr/www/users/shopww/shop/vendor/beberlei/assert/lib/Assert/Assertion.php(1389): Assert\Assertion::createException('0', 'The limit must ...', 35, NULL, Array) #1 /usr/www/users/shopww/shop/engine/Shopware/Bundle/SearchBundle/Criteria.php(116): Assert\Assertion::min('0', 1, 'The limit must ...') #2 /usr/www/users/shopww/shop/custom/plugins/konkurrenzSearch/Controllers/ajax.php(147): Shopware\Bundle\SearchBundle\Criteria->limit('0') #3 /usr/www/users/shopww/shop/engine/Library/Enlight/Controller/Action.php(192): Shopware_Controllers_Frontend_AjaxDksearch->indexAction() #4 /usr/www/users/shopww/shop/engine/Library/Enlight/Controller/Dispatcher/Default.php(563): Enlight_Controller_Action->dispatch('indexAction') #5 /usr/www/users/shopww/shop/engine/Library/Enlight/Controller/Front.php(222): Enlight_Controller_Dispatcher_Default->dispat in /usr/www/users/shopww/shop/vendor/beberlei/assert/lib/Assert/Assertion.php on line 288
Grund für mein “nicht funktionieren” ist wohl, dass das Plugin nur für die Standard Freitextfelder attr1 bis attr20 ausgelegt ist… wir benutzen aber eigene, im den Fall mit dem Spaltenname “number”.