Shopware + ElasticSearch

Hallo zusammen,

ich habe eine Frage zu der Kombination SW + ES.
Auf empfehlen seitens Shopware und ProfiHost haben wir einen zusätzlichen ES Server angemietet um den Shop allg. Perfomanter zu haben und die Suche zu verbessern.
Das klappt soweit auch alles gut.

Wir haben für Nachts einen Cronjob laufen der den ES Index aktualsiert, das scheint soweit auch zu funktionieren.

Nun haben wir aber das Problem das seit der Kopplung keine neuen Artikel mehr im Shop angezeigt werden (änderrungen kommen jedoch Zeitgleich), ist das hier ein Problem mit dem ES ?

Wie oft sollte man den ES Server Aktualisieren? 
Gibt es allg. Tipps mit den Umgang zwischen SW und ES?

1 „Gefällt mir“

Machst du denn einen Full-Index oder einen Backlog Sync?
Bei Backlog Sync wird natürlich vorausgesetzt, dass die Produktaktualisierungen auch ins Backlog geschrieben werden. Wie kommen die Produktaktualisierungen denn in den Shop rein?

Hallo,

wir führen Nachts einen Cron aus mit dem Befehl:

sw:es:index:cleanup && sw:es:index:populate

Sprich wir leeren den gesamten ES Cache und Bauen diesen neu auf.
MIr fällt gerade noch ergänzend ein, das ebenfalls die „Eigenschaftsfilter“ nicht Aktualisiert werden, auch bei Neuaufbau des Caches nicht.

Werden die neuen Produkte denn ohne ES angezeigt?
Der index:populate indexiert alle für den jeweiligen Shop validen Produkte. Wenn die nicht im Index landen/angezeigt werden, dann ist i.d.R. was an den Produktdaten nicht korrekt.

Hallo Moritz,

danke für die zügige Rückmeldung =)

Ich habe jetz mal ein wenig geschaut und verglichen und auch ein Kollege hat mal mit geschaut.

MIr fallen Persönlich keine unterschiede zu Artikeln auf die in anderen Kategorien etc. Angezeigt werden.

Eine einzigste Sache die mir aufgefallen ist, ist das Product-Stream problem, das ich bereits in einem anderen Post geäußert hab, hier noch extremer Auftritt. (Siehe: https://forum.shopware.com/discussion/65314/product-streams-findet-nicht-alle-zugewiesenen-artikel-hersteller-auswahl#latest)

Wir haben für jeden Hersteller mind. einen gefilterten Product-Stream der  alle Artikel von Hersteller X Anzeigt. in dem Oben verlinkten Beitrag waren die differenzen immer recht gering.

Bei den Artikeln/Hersteller der nicht Angezeigt wird, habe ich jedoch Feststellen müssen das die Zahl Gravierend ist. So werden laut Stream nur 6 Produkte gefunden, während in der Hersteller Übersicht und auch in der Artikelübersicht 121 Artikel zu finden sind.

Vermutlich liegt also das problem an den Streams.

Führt ihr auch regelmäßig (alle 5 minuten) die Backlog aus?

Hallo, ich habe das gleiche Problem. ich führte bis jetzt nur die Befehl aus:

sudo bin/console sw:es:index:populate

Wie führe ich einen Backlog aus?

Gruss und Danke.

@brettvormkopp‍
Folgender Befehl ist dafür da:

sw:es:backlog:sync

@Shyim‍ das Backlog führen wir garnicht aus, sondern nutzen wie weiter oben geschrieben einen Cronjob der cden ES leert und neu aufbaut.
Aber auch nach manuellen neuaufbau macht es keinen sinn. Habe den Cronjob jetzt auf alle 10min eingestellt.

 

1 „Gefällt mir“
 Noch eine Zusatzfrage, sind das gute oder schlechte Werte? Bei mir werden ein paar neue Kategorien und Artikel nicht angezeigt. Diese hatte ich heute erst importiert über CSV. 

​elasticsearch yellow 1 1 4 4 0 0 3 0 - 57.1%

Meine heute ausgeführten Befehle:

bin/console sw:es:backlog:sync
bin/console sw:es:backlog:clear
bin/console sw:es:backend:index:cleanup
bin/console sw:es:index:cleanup
bin/console sw:es:index:populate
curl -XGET 'http://localhost:9200/_cat/health'

Gibt es denn irgendwo eine Doku wo das beschrieben wird  ohne Raketenforscherdiplom :smiley:

die Reihenfolge sollte sein:

 

console sw:es:index:populate

console sw:es:backlog:sync

console sw:es:index:cleanup

1 „Gefällt mir“

@derkosta‍ danke. irgendwas scheint bei mir nicht zu stimmen. ich mach ggf mal einen neuen thread dazu auf. alle seit gestern hinzugekommenen artikel werden partout nicht im frontend ausgegeben. im backend sind diese zu sehen.