Hallo,
ich bin Entwickler und erstelle gerade für ein Unternehmen ein Shopware Onlineshop mit mehreren millionen Produkten im Sortiment. Perspektivisch ca ~ 10Mio Produkte, gestartet wird mit ~2Mio Produkten.
Das Importieren der ca 2Mio Produkten geht dank der Sync-API sehr flott (unter 4 Stunden). Das Indexing ist beim Sync-request ausgestellt mit Angabe vom Header im request:
indexing-behavior: 'disable-indexing'
Nach dem Imporieren würde ich jetzt gerne das Indexing triggern und habe dazu ein paar Fragen.
Der Aufbau der Neu-indexierung wird ja getriggert mit:
bin/console dal:refresh:index
So weit läuft das auch und er indexiert. Problem: Es kommt nach mehreren Stunden zum Abbruch ohne Message. Wir haben 3 Entities dir wir indexieren und definiert haben:
- Product
- SeoUrl
- Category
Er bricht nach mehreren Stunden irgendwann mitten bei SeoUrl ab. Wenn ich das Command erneut starte fängt er wieder bei Product an zu indexieren, was ja eigentlich durch ist.
1. Frage:
Wie kann ich das vermeiden? Gibt es eine Möglichkeit den Indexer zu parallelisieren bzw einen Indexer pro Entity zu triggern und nicht einen für alle?
Wahrscheinlich hätte ich die Probleme vermieden und beim Sync-Request folgenden Header setzen sollen:
indexing-behavior: 'use-queue-indexing'
Dann hätte der message-worker stück für stück indexiert?
2. Frage
Hat sich schon erledigt, danke:
Hallo,
die alten solltest Du von Zeit zu Zeit löschen - kannst Du wie folgt mit der Shopware CLI bewerkstelligen:
bin/console es:index:cleanup
Viele Grüße
Danke im Vorraus!