Magento Indexer-ஐப் பாதிக்காமல் அதன் Catalogs-களை மேம்படுத்துங்கள்
பல Magento பயனர்கள் ஒரே மாதிரியான சிக்கலை எதிர்கொள்கிறார்கள். விடுபட்ட attributes, குறைவான விவரணைகள் (descriptions) அல்லது மொழிபெயர்ப்புகள் இல்லாத ஆயிரக்கணக்கான தயாரிப்புகள் உங்களிடம் இருக்கலாம்.
தரவு ஆதாரங்களைக் (data sources) கண்டறிவது எளிது. ஆனால், உங்கள் ஸ்டோரை முடக்காமல் (crashing) அந்தத் தரவை உங்கள் catalog-ல் சேர்ப்பதே கடினமான பகுதி.
தயாரிப்புகளை ஒவ்வொன்றாகச் சேமிக்க ஒரு சாதாரண loop-ஐப் பயன்படுத்துவதே பொதுவான தவறு.
நீங்கள் ஒரு loop-க்குள் product repository save முறையைப் பயன்படுத்தினால், ஒவ்வொரு பொருளுக்கும் முழுமையான lifecycle-ஐத் தூண்டுகிறீர்கள். நீங்கள் ஆயிரக்கணக்கான முறை validation, observers மற்றும் reindexing triggers ஆகியவற்றை இயக்குகிறீர்கள். இது ஸ்கிரிப்ட்கள் பல மணிநேரம் இயங்க வழிவகுப்பதோடு, உங்கள் admin panel-ஐ மிகவும் மெதுவாக்கிவிடும்.
இந்த save path என்பது ஒரு மனிதன் ஒரு தயாரிப்பைத் திருத்துவதற்காக உருவாக்கப்பட்டது. மொத்தமாகப் புதுப்பிப்பதற்கு (bulk updates) இது சரியான கருவி அல்ல.
உங்கள் catalog-ஐப் பாதுகாப்பாகப் புதுப்பிக்க இந்த வழிமுறைகளைப் பின்பற்றுங்கள்:
Mass attribute updates-ஐப் பயன்படுத்துங்கள். முழு product model-ஐச் சேமிப்பதற்குப் பதிலாக,
Magento\Catalog\Model\Product\Action-ஐப் பயன்படுத்துங்கள். தரவுத்தள அட்டவணைகளில் (database tables) நேரடியாக எழுதupdateAttributesமுறையைப் பயன்படுத்துங்கள். இதை ஒரு நேரத்தில் 1,000 முதல் 2,000 IDs கொண்ட தொகுதிகளாக (batches) செய்யுங்கள்.உங்கள் indexer அமைப்புகளை மாற்றவும். தொடங்குவதற்கு முன் உங்கள் indexers-ஐ 'Update by Schedule' என அமைக்கவும். நீங்கள் 'Update on Save' முறையைப் பயன்படுத்தினால், ஒவ்வொரு முறை தரவை எழுதும்போதும் ஒரு synchronous reindex தூண்டப்படும். 'On a schedule' முறையில், தரவுகள் ஒரு changelog-க்குச் செல்லும் மற்றும் cron job அந்த வேலையைச் செய்யும்.
மொழிபெயர்ப்புகளைச் சரியாகக் கையாளவும். ஒரு மொழிபெயர்ப்பு என்பது ஒரு குறிப்பிட்ட store view-க்கான attribute value ஆகும்.
updateAttributesமுறைக்குச் சரியான store ID-ஐ அனுப்பவும். உள்ளூர் மொழிகளைச் சேர்க்கும்போது உங்கள் global default மதிப்புகளை மாற்ற வேண்டாம்.AI உள்ளடக்கத்தைக் கவனமாகக் கையாளவும். LLM-கள் சிறந்த உள்ளடக்கத்தை (copy) எழுதுகின்றன, ஆனால் பெரும்பாலும் உண்மைகளைத் தவறாகக் கூறக்கூடும் (hallucinate). ஒரு சட்டை பாலியஸ்டராக இருக்கும்போது அது பருத்தியாக இருப்பதாக அவை கூறலாம். • முதலில் AI உள்ளடக்கத்தை ஒரு staging field அல்லது disabled scope-ல் எழுதுங்கள். • நேரலையில் (live) கொண்டு செல்லும் முன் ஒரு சிறிய மாதிரியைச் சரிபார்க்கவும். • அளவுகள் மற்றும் பொருட்கள் போன்ற தொழில்நுட்ப விவரங்களை (technical specs) சரிபார்க்கப்பட்ட தரவுகளிலிருந்து மட்டுமே பெறுங்கள்.
மொத்தமாக மேம்படுத்துவதற்கான சுருக்கம்:
- Indexers-ஐ scheduled mode-க்கு மாற்றவும்.
- புதிய தரவுகளுக்கு ஒரு staging field-ஐப் பயன்படுத்தவும்.
- 1,000 முதல் 2,000 IDs கொண்ட தொகுதிகளாகப் புதுப்பிப்புகளைச் செயல்படுத்தவும்.
- முழுமையான product save path-ஐத் தவிர்க்கவும்.
- மாற்றங்களை reindex செய்யவும்.
- உங்கள் தயாரிப்புப் பக்கங்களின் ஒரு மாதிரியைச் சோதிக்கவும்.
தரவு ஆதாரங்கள் எளிதானவை. ஆனால் ஒரு நேரலை catalog-ஐ நிர்வகிப்பதற்கு வேறுபட்ட அணுகுமுறை தேவை.
ஆதாரம்: https://dev.to/iamrobindhiman/enriching-a-large-magento-catalog-without-melting-the-indexer-3mk9
