Magento ਕੈਟਾਲਾਗ ਨੂੰ ਉਸਦੇ Indexer ਨੂੰ ਖਰਾਬ ਕੀਤੇ ਬਿਨਾਂ ਵਧਾਓ

ਬਹੁਤ ਸਾਰੇ Magento ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਇੱਕੋ ਸਮੱਸਿਆ ਦਾ ਸਾਹਮਣਾ ਕਰਨਾ ਪੈਂਦਾ ਹੈ। ਤੁਹਾਡੇ ਕੋਲ ਹਜ਼ਾਰਾਂ ਉਤਪਾਦ ਹਨ ਜਿਨ੍ਹਾਂ ਵਿੱਚ ਐਟਰੀਬਿਊਟਸ (attributes) ਗੁੰਮ ਹਨ, ਵੇਰਵੇ (descriptions) ਬਹੁਤ ਘੱਟ ਹਨ, ਜਾਂ ਕੋਈ ਅਨੁਵਾਦ (translations) ਨਹੀਂ ਹੈ।

ਡਾਟਾ ਸਰੋਤ ਲੱਭਣਾ ਆਸਾਨ ਹੈ। ਮੁਸ਼ਕਲ ਹਿੱਸਾ ਉਸ ਡਾਟਾ ਨੂੰ ਆਪਣੇ ਕੈਟਾਲਾਗ ਵਿੱਚ ਪਾਉਣਾ ਹੈ ਬਿਨਾਂ ਆਪਣੇ ਸਟੋਰ ਨੂੰ ਕਰੈਸ਼ (crash) ਕੀਤੇ।

ਆਮ ਗਲਤੀ ਇੱਕ ਸਧਾਰਨ ਲੂਪ (loop) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਉਤਪਾਦਾਂ ਨੂੰ ਇੱਕ-ਇੱਕ ਕਰਕੇ ਸੇਵ ਕਰਨਾ ਹੈ।

ਜੇਕਰ ਤੁਸੀਂ ਲੂਪ ਵਿੱਚ product repository save method ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਹਰ ਇੱਕ ਆਈਟਮ ਲਈ ਪੂਰਾ lifecycle ਚਲਾਉਂਦੇ ਹੋ। ਤੁਸੀਂ ਹਜ਼ਾਰਾਂ ਵਾਰ validation, observers, ਅਤੇ reindexing triggers ਚਲਾਉਂਦੇ ਹੋ। ਇਸ ਨਾਲ ਸਕ੍ਰਿਪਟਾਂ ਘੰਟਿਆਂ ਤੱਕ ਚੱਲਦੀਆਂ ਰਹਿੰਦੀਆਂ ਹਨ ਅਤੇ ਤੁਹਾਡਾ admin panel ਬਹੁਤ ਹੌਲੀ ਹੋ ਜਾਂਦਾ ਹੈ।

Save path ਇੱਕ ਵਾਰ ਵਿੱਚ ਇੱਕ ਉਤਪਾਦ ਨੂੰ ਐਡਿਟ ਕਰਨ ਵਾਲੇ ਇਨਸਾਨਾਂ ਲਈ ਬਣਾਇਆ ਗਿਆ ਹੈ। ਇਹ bulk updates ਲਈ ਗਲਤ ਟੂਲ ਹੈ।

ਆਪਣੇ ਕੈਟਾਲਾਗ ਨੂੰ ਸੁਰੱਖਿਅਤ ਤਰੀਕੇ ਨਾਲ ਅਪਡੇਟ ਕਰਨ ਲਈ ਇਹਨਾਂ ਕਦਮਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ:

  • Mass attribute updates ਦੀ ਵਰਤੋਂ ਕਰੋ। ਪੂਰੇ product model ਨੂੰ ਸੇਵ ਕਰਨ ਦੀ ਬਜਾਏ, Magento\Catalog\Model\Product\Action ਦੀ ਵਰਤੋਂ ਕਰੋ। ਡਾਟਾਬੇਸ ਟੇਬਲ ਵਿੱਚ ਸਿੱਧਾ ਲਿਖਣ ਲਈ updateAttributes method ਦੀ ਵਰਤੋਂ ਕਰੋ। ਇਹ ਕੰਮ ਇੱਕ ਸਮੇਂ ਵਿੱਚ 1,000 ਤੋਂ 2,000 IDs ਦੇ ਬੈਚ (batches) ਵਿੱਚ ਕਰੋ।

  • ਆਪਣੀਆਂ indexer settings ਬਦਲੋ। ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਆਪਣੇ indexers ਨੂੰ Update by Schedule 'ਤੇ ਸੈੱਟ ਕਰੋ। ਜੇਕਰ ਤੁਸੀਂ Update on Save ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋ, ਤਾਂ ਹਰ ਇੱਕ ਲਿਖਣ (write) ਦੀ ਪ੍ਰਕਿਰਿਆ ਇੱਕ synchronous reindex ਨੂੰ ਟ੍ਰਿਗਰ ਕਰਦੀ ਹੈ। ਸ਼ਡਿਊਲ (schedule) 'ਤੇ, ਲਿਖਤਾਂ ਇੱਕ changelog ਵਿੱਚ ਜਾਂਦੀਆਂ ਹਨ ਅਤੇ cron job ਇਸ ਕੰਮ ਨੂੰ ਸੰਭਾਲਦੀ ਹੈ।

  • ਅਨੁਵਾਦਾਂ (translations) ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਪ੍ਰਬੰਧਿਤ ਕਰੋ। ਅਨੁਵਾਦ ਇੱਕ ਖਾਸ store view ਲਈ ਇੱਕ attribute value ਹੁੰਦੀ ਹੈ। updateAttributes method ਨੂੰ ਸਹੀ store ID ਭੇਜੋ। ਸਥਾਨਕ ਭਾਸ਼ਾਵਾਂ ਜੋੜਦੇ ਸਮੇਂ ਆਪਣੇ global default values ਨੂੰ ਓਵਰਰਾਈਟ (overwrite) ਨਾ ਕਰੋ।

  • AI ਕੰਟੈਂਟ ਨੂੰ ਧਿਆਨ ਨਾਲ ਸੰਭਾਲੋ। LLMs ਵਧੀਆ ਕਾਪੀ ਲਿਖਦੇ ਹਨ ਪਰ ਅਕਸਰ ਤੱਥਾਂ ਵਿੱਚ ਗਲਤੀ (hallucinate) ਕਰਦੇ ਹਨ। ਉਹ ਕਹਿ ਸਕਦੇ ਹਨ ਕਿ ਸ਼ਰਟ ਕਪਾਹ (cotton) ਦੀ ਹੈ ਜਦੋਂ ਕਿ ਉਹ ਪੋਲੀਏਸਟਰ (polyester) ਦੀ ਹੋਵੇ। • ਪਹਿਲਾਂ AI ਕੰਟੈਂਟ ਨੂੰ staging field ਜਾਂ disabled scope ਵਿੱਚ ਲਿਖੋ। • ਲਾਈਵ ਜਾਣ ਤੋਂ ਪਹਿਲਾਂ ਇੱਕ ਛੋਟਾ ਨਮੂਨਾ (sample) ਚੈੱਕ ਕਰੋ। • ਡਾਇਮੈਂਸ਼ਨਾਂ (dimensions) ਅਤੇ ਸਮੱਗਰੀ (materials) ਵਰਗੇ ਤਕਨੀਕੀ ਸਪੈਕਸ (specs) ਨੂੰ ਹਮੇਸ਼ਾ ਤਸਦੀਕ ਕੀਤੇ ਡਾਟਾ ਤੋਂ ਹੀ ਲਓ।

Bulk enrichment ਲਈ ਸਾਰਾਂਸ਼:

  1. Indexers ਨੂੰ scheduled mode 'ਤੇ ਸੈੱਟ ਕਰੋ।
  2. ਨਵੇਂ ਡਾਟਾ ਲਈ staging field ਦੀ ਵਰਤੋਂ ਕਰੋ।
  3. 1,000 ਤੋਂ 2,000 IDs ਦੇ ਬੈਚ ਵਿੱਚ ਅਪਡੇਟ ਲਾਗੂ ਕਰੋ।
  4. ਪੂਰੇ product save path ਤੋਂ ਬਚੋ।
  5. ਬਦਲਾਅਾਂ ਨੂੰ reindex ਕਰੋ।
  6. ਆਪਣੇ ਉਤਪਾਦ ਪੇਜਾਂ ਦੇ ਇੱਕ ਨਮੂਨੇ ਦੀ ਜਾਂਚ ਕਰੋ।

ਡਾਟਾ ਸਰੋਤ ਲੱਭਣਾ ਆਸਾਨ ਹਿੱਸਾ ਹੈ। ਇੱਕ ਲਾਈਵ ਕੈਟਾਲਾਗ ਨੂੰ ਪ੍ਰਬੰਧਿਤ ਕਰਨ ਲਈ ਇੱਕ ਵੱਖਰੇ ਤਰੀਕੇ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।

ਸਰੋਤ: https://dev.to/iamrobindhiman/enriching-a-large-magento-catalog-without-melting-the-indexer-3mk9