In questo breve articolo voglio spiegarti come vengono gestiti gli indici su Magento 2, come sfruttarli al meglio e come gestirli da backoffice e da terminale
[epcl_box type="notice"]NB: Per poter effettuare alcune operazioni in questa guida è necessario avere accesso al proprio sito tramite SSH[/epcl_box]
Il processo di indicizzazione permette a Magento di organizzare e strutturare i dati variabili presenti sul Database del nostro E-commerce(Prodotti,prezzi,categorie,etc. ) al fine di renderlo più performante e reattivo. Quando avviene un cambiamento sui nostri dati, Magento deve effettuare un "reindex", affinchè la modifica sia effettiva e visibile sul nostro E-commerce.
Ad esempio, se modifichiamo il prezzo di un prodotto da €89,99 a €109,99 Magento dovrà effettuare il Reindex per aggiornare i dati per far si che la modifica sia visibile sul nostro E-commerce
L'organizzazione dei dati indicizzati di Magento, permette di riuscire ad avere un'elevata reattività nel recuperare i dati variabili del nostro negozio, soprattutto in presenza di migliaia e migliaia di prodotti, viste negozio, regole di prezzo e carrello.
Immaginiamo uno scenario in cui abbiamo un E-commerce con 100.000 prodotti, 5 viste negozio e delle regole di prezzo sul carrello personalizzate, immaginiamo un Cliente acceda alla pagina Il mio carrello , senza gli indici Magento dovrebbe interrogare il database al momento ed andarsi a calcolare,ad esempio, il prezzo dei prodotti nel carrello sulla base delle regole di prezzo attualmente attive sul nostro negozio. Questo, su larga scala di prodotti e regole di prezzo, implicherebbe inevitabilmente un rallentamento del nostro sito web.
Con la gestione ad indici invece, nel momento in cui il cliente accede a Il mio Carrello magento dovrà solo recuperare i dati già elaborati e generati precedentemente con il processo di indicizzazione. Il risultato è un accesso più rapido alla pagina e minor consumo di risorse.
Il processo di indicizzazione ( o meglio dire "Reindex" ) può avvenire principalmente in due modi:
Per gestire quando vengono generati gli indici su Magento 2, dobbiamo andare dal nostro Backoffice su:
Sistema > Strumenti > Gestione indice
Sulla pagina gestione indici ci troveremo davanti una tabella con l'elenco degli indici, il loro nome, descrizione, modalità di esecuzione ed ultimo aggiornamento.
Per modificare un indice da "Al salvataggio" a "Schedulato" ( O viceversa) ci basterà spuntare gli inidici interessati dalla nostra tabella e poi su "Azioni" selezionare dal dropdown come Magento deve gestire quegli indici.

Per poter effettuare il reindex su Magento2, devi collegarti al tuo sito web tramite SSH ed entrare nella directory di installazione di Magento. da lì ti basterà lanciare il comando:
php bin/magento indexer:reindex
Questo, farà partire il processo di reindex su tutti gli indici disponibili. Il processo potrebbe richiedere del tempo a seconda delle risorse a disposizione sul Server, ottimizzazione, numero di prodotti,categorie etc.
Quando Magento avrà terminato il reindex ti troverai sul terminale un risultato simile a questo:
[test@srvtest-web public_html]$ php bin/magento indexer:reindex
Design Config Grid index has been rebuilt successfully in 00:00:00
Customer Grid index has been rebuilt successfully in 00:00:00
Category Products index has been rebuilt successfully in 00:00:00
Product Categories index has been rebuilt successfully in 00:00:00
Catalog Rule Product index has been rebuilt successfully in 00:00:00
Product EAV index has been rebuilt successfully in 00:00:00
Stock index has been rebuilt successfully in 00:00:00
Inventory index has been rebuilt successfully in 00:00:00
Catalog Product Rule index has been rebuilt successfully in 00:00:00
Product Price index has been rebuilt successfully in 00:00:00
Amasty: ElasticSearch - Relevance Rules (Products) index has been rebuilt successfully in 00:00:00
Amasty: ElasticSearch - Relevance Rules (Rules) index has been rebuilt successfully in 00:00:00
Amasty: Advanced Search - Categories index has been rebuilt successfully in 00:00:00
Catalog Search index has been rebuilt successfully in 00:00:09
Amasty Improved Sorting - Bestsellers index has been rebuilt successfully in 00:00:00
Amasty Improved Sorting - Most Viewed index has been rebuilt successfully in 00:00:00
Amasty Improved Sorting - Wishlists index has been rebuilt successfully in 00:00:00
Amasty: Xsearch - Popup Data index has been rebuilt successfully in 00:00:00
Amasty Yotpo Review index has been rebuilt successfully in 00:00:02
[test@srvtest-web public_html]$
Questo indica che il processo di Reindex è andato a buon fine e che Magento ha aggiornato i dati. Subito dopo, è sempre consigliato pulire anche la Cache di Magento. Per pulire la cache quindi lanciamo subito dopo
php bin/magento cache:flush
Fatto! Adesso i nostri indici sono correttamente aggioranti.