मॅजेंटो इंडेक्सरला विस्कळीत न करता कॅटलॉग समृद्ध करा
अनेक मॅजेंटो वापरकर्त्यांना एकाच समस्येचा सामना करावा लागतो. तुमच्याकडे हजारो उत्पादने आहेत ज्यांचे ॲट्रिब्युट्स (attributes) अपूर्ण आहेत, वर्णन (descriptions) अल्प आहे किंवा भाषांतर उपलब्ध नाही.
डेटाचे स्रोत शोधणे सोपे आहे. कठीण भाग म्हणजे तुमचा स्टोअर क्रॅश न करता तो डेटा तुमच्या कॅटलॉगमध्ये समाविष्ट करणे.
उत्पादने एक-एक करून सेव्ह करण्यासाठी साध्या लूपचा (loop) वापर करणे ही एक सामान्य चूक आहे.
जर तुम्ही लूपमध्ये product repository save पद्धत वापरली, तर तुम्ही प्रत्येक आयटमसाठी संपूर्ण लाइफसायकल (lifecycle) सक्रिय करता. तुम्ही हजारो वेळा व्हॅलिडेशन, ऑब्झर्व्हर्स आणि री-इंडेक्सिंग ट्रिगर्स चालवता. यामुळे स्क्रिप्ट्स चालण्यासाठी तासनतास लागतात आणि तुमचे ॲडमिन पॅनेल अत्यंत संथ होते.
सेव्ह पाथ (save path) हा एक उत्पादन संपादित करणाऱ्या मानवांसाठी बनवलेला आहे. बल्क अपडेट्ससाठी (bulk updates) हे चुकीचे साधन आहे.
तुमचा कॅटलॉग सुरक्षितपणे अपडेट करण्यासाठी या पायऱ्या फॉलो करा:
मास ॲट्रिब्यूट अपडेट्सचा (mass attribute updates) वापर करा. संपूर्ण प्रॉडक्ट मॉडेल सेव्ह करण्याऐवजी,
Magento\Catalog\Model\Product\Actionवापरा. थेट डेटाबेस टेबल्समध्ये लिहिण्यासाठीupdateAttributesपद्धत वापरा. हे एका वेळी १,००० ते २,००० आयडीच्या बॅचेसमध्ये करा.तुमच्या इंडेक्सर सेटिंग्ज बदला. सुरुवात करण्यापूर्वी तुमचे इंडेक्सर्स 'Update by Schedule' वर सेट करा. जर तुम्ही 'Update on Save' वापरले, तर प्रत्येक 'write' ऑपरेशनमुळे सिंक्रोनस री-इंडेक्स (synchronous reindex) ट्रिगर होते. शेड्युलवर असल्यास, 'writes' चँजलॉगमध्ये जातात आणि क्रॉन जॉब (cron job) ते काम हाताळतो.
भाषांतर योग्यरित्या व्यवस्थापित करा. भाषांतर हे विशिष्ट स्टोअर व्ह्यूसाठी (store view) एक ॲट्रिब्यूट व्हॅल्यू असते.
updateAttributesपद्धतीमध्ये योग्य स्टोअर आयडी (store ID) पास करा. स्थानिक भाषा जोडताना तुमच्या ग्लोबल डिफॉल्ट व्हॅल्यूज (global default values) ओव्हरराईट करू नका.AI कंटेंट काळजीपूर्वक हाताळा. LLMs उत्तम कॉपी लिहितात परंतु अनेकदा तथ्ये चुकीची सांगू शकतात (hallucinate). उदाहरणार्थ, शर्ट पॉलिस्टरचा असताना ते तो कॉटनचा आहे असे म्हणू शकतात. • प्रथम AI कंटेंट स्टेजिंग फील्डमध्ये (staging field) किंवा डिसेबल केलेल्या स्कोपमध्ये (disabled scope) लिहा. • लाईव्ह करण्यापूर्वी एक छोटा नमुना तपासा. • आकारमान (dimensions) आणि साहित्य (materials) यांसारखी तांत्रिक वैशिष्ट्ये पडताळलेल्या डेटावरूनच घ्या.
बल्क एनरिचमेंटसाठी सारांश:
- इंडेक्सर्स शेड्युल मोडवर सेट करा.
- नवीन डेटासाठी स्टेजिंग फील्ड वापरा.
- १,००० ते २,००० आयडीच्या बॅचेसमध्ये अपडेट्स लागू करा.
- संपूर्ण प्रॉडक्ट सेव्ह पाथ टाळा.
- बदल री-इंडेक्स करा.
- तुमच्या प्रॉडक्ट पेजेसचा एक नमुना तपासा.
डेटाचे स्रोत शोधणे सोपे आहे. लाईव्ह कॅटलॉग व्यवस्थापित करण्यासाठी वेगळ्या दृष्टिकोनाची आवश्यकता असते.
स्रोत: https://dev.to/iamrobindhiman/enriching-a-large-magento-catalog-without-melting-the-indexer-3mk9
