Indexing hell

Hola, mám s Magentem takový problém. Dost často se stává, že vypadnou indexy a je potřeba opravovat indexaci ručně. Je to taková dost opičí práce a je pro mne záhadou, proč tím vlastně Magento otravuje adminy eShopu - přeci jen je to věc, kterou by si mělo umět opravit samo - nedává mi moc smysl se chodit dívat na tabulku, jestli tam není červeně napsáno, že to nefunguje a klikat na čudlík “opravit”.

Chápu, že to může být kvůli tom,u, že u shopů s hromadou produktů/atributů/views to může trvat velmi dlouho, nicméně u menších eShopů by se to podle mne mělo opravovat samo. Máte z tím někdo nějaké zkušenosti? Plugin, nebo ručně cron, třeba 1x denně v noci?

Díky za tipy a rady :slight_smile:
Maxim

1 Like

Ahoj, předpokládám, že indexy jsou nastaveny tak, aby se obnovovaly při ukládání a předpokládám, že “nevypadnou” (jako že indexaci nelze dokončit z důvodu nějaké chyby), ale jsou jen neaktuální… To se stane, když dojde ke změně nějakého systémového nastavení nebo atributu, který je ovlivní.
Pokud tvořím eshop a postupně přidávám atributy, pak index je pořád neaktuální a je to otravný. To je lepší je přepnout na ruční obnovu (ukládání do DB je citelně rychlejší, protože nedochází k automatických úpravám indexů) a jednou za čas je ručně obnovit nebo cronem spusť příkaz

php /cesta/k/magentu/shell/indexer.php reindexall

2 Likes

Ahoj, moje oblíbené “kombo” pro větší katalogy je následující:

php indexer.php --reindex catalog_product_price
php indexer.php --reindex catalog_product_attribute
php indexer.php --reindex catalog_url
php indexer.php --reindex catalog_product_flat
php indexer.php --reindex catalog_category_flat
php indexer.php --reindex catalog_category_product
php indexer.php --reindex catalogsearch_fulltext
php indexer.php --reindex cataloginventory_stock

Výhodou je spuštění reindexů zvlášť a tím pádem menší šance na to, že dojde pamět či čas.

1 Like

Pánové, díky! :slight_smile:

Můžete použít Fast Asynchronous Re-indexing https://www.magentocommerce.com/magento-connect/fast-asynchronous-re-indexing.html . Velmi dobrá modul , a to nenačte serveru.
Chcete-li správně fungovat, musíte nakonfigurovat “cron”. Dávejte si pozor na zaměstnanost pomoc AOE Scheduler https://www.magentocommerce.com/magento-connect/aoe-scheduler.html
p.s. I`m sorry for my Czech :slight_smile: