Magento کیٹلاگ کو اس کے انڈیکسر کو خراب کیے بغیر بہتر بنائیں
بہت سے Magento صارفین کو ایک ہی مسئلے کا سامنا کرنا پڑتا ہے۔ آپ کے پاس ہزاروں مصنوعات (products) ہو سکتی ہیں جن میں ایٹریبیوٹس (attributes) غائب ہیں، تفصیلات (descriptions) مختصر ہیں، یا کوئی ترجمہ موجود نہیں ہے۔
ڈیٹا کے ذرائع تلاش کرنا آسان ہے۔ مشکل حصہ اس ڈیٹا کو اپنے کیٹلاگ میں شامل کرنا ہے بغیر اپنے اسٹور کو کریش (crash) کیے ۔
عام غلطی مصنوعات کو ایک ایک کر کے محفوظ کرنے کے لیے ایک سادہ لوپ (loop) کا استعمال کرنا ہے۔
اگر آپ لوپ میں product repository save method کا استعمال کرتے ہیں، تو آپ ہر ایک آئٹم کے لیے مکمل لائف سائیکل (lifecycle) شروع کر دیتے ہیں۔ آپ ہزاروں بار validation، observers، اور reindexing triggers چلاتے ہیں۔ اس سے اسکرپٹس گھنٹوں تک چلتی رہتی ہیں اور آپ کا ایڈمن پینل انتہائی سست ہو جاتا ہے۔
سیو پاتھ (save path) انسانوں کے لیے بنایا گیا ہے جو ایک وقت میں ایک پروڈکٹ ایڈٹ کرتے ہیں۔ یہ بلک اپ ڈیٹس (bulk updates) کے لیے غلط ٹول ہے۔
اپنے کیٹلاگ کو محفوظ طریقے سے اپ ڈیٹ کرنے کے لیے ان اقدامات پر عمل کریں:
میس ایٹریبیوٹ اپ ڈیٹس (mass attribute updates) کا استعمال کریں۔ پورے پروڈکٹ ماڈل کو محفوظ کرنے کے بجائے،
Magento\Catalog\Model\Product\Actionکا استعمال کریں۔ براہ راست ڈیٹا بیس ٹیبلز میں لکھنے کے لیےupdateAttributesمیتھڈ کا استعمال کریں۔ اسے ایک وقت میں 1,000 سے 2,000 آئی ڈیز (IDs) کے بیچز (batches) میں کریں۔اپنی انڈیکسر سیٹنگز (indexer settings) تبدیل کریں۔ شروع کرنے سے پہلے اپنے انڈیکسرز کو 'Update by Schedule' پر سیٹ کریں۔ اگر آپ 'Update on Save' استعمال کرتے ہیں، تو ہر تحریر (write) ایک سنکرونس ری انڈیکس (synchronous reindex) کو ٹرگر کرتی ہے۔ شیڈول پر، تحریریں ایک چینج لاگ (changelog) میں جاتی ہیں اور کرون جاب (cron job) کام سنبھالتی ہے۔
ترجموں (translations) کو درست طریقے سے مینیج کریں۔ ترجمہ ایک مخصوص اسٹور ویو (store view) کے لیے ایٹریبیوٹ ویلیو ہے۔
updateAttributesمیتھڈ کو درست اسٹور آئی ڈی (store ID) پاس کریں۔ مقامی زبانیں شامل کرتے وقت اپنی گلوبل ڈیفالٹ ویلیوز (global default values) کو اوور رائٹ نہ کریں۔AI مواد کو احتیاط سے سنبھالیں۔ LLMs بہترین کاپی لکھتے ہیں لیکن اکثر حقائق کے بارے میں غلط بیانی (hallucinate) کرتے ہیں۔ وہ کہہ سکتے ہیں کہ شرٹ کاٹن ہے جبکہ وہ پولی ایسٹر ہے۔ • پہلے AI مواد کو اسٹیجنگ فیلڈ (staging field) یا ڈس ایبلڈ اسکوپ (disabled scope) میں لکھیں۔ • لائیو جانے سے پہلے ایک چھوٹا نمونہ (sample) چیک کریں۔ • تکنیکی تفصیلات جیسے کہ پیمائش (dimensions) اور میٹریل کو تصدیق شدہ ڈیٹا سے حاصل کریں۔
بلک انریچمنٹ (bulk enrichment) کا خلاصہ:
- انڈیکسرز کو شیڈولڈ موڈ پر سیٹ کریں۔
- نئے ڈیٹا کے لیے اسٹیجنگ فیلڈ کا استعمال کریں۔
- 1,000 سے 2,000 آئی ڈیز کے بیچز میں اپ ڈیٹس لاگو کریں۔
- مکمل پروڈکٹ سیو پاتھ سے بچیں۔
- تبدیلیوں کو ری انڈیکس کریں۔
- اپنے پروڈکٹ پیجز کے ایک نمونے کا ٹیسٹ کریں۔
ڈیٹا کے ذرائع آسان حصہ ہیں۔ لائیو کیٹلاگ کو مینیج کرنے کے لیے ایک مختلف طریقہ کار کی ضرورت ہوتی ہے۔
Source: https://dev.to/iamrobindhiman/enriching-a-large-magento-catalog-without-melting-the-indexer-3mk9
