Magento Indexer ಅನ್ನು ಹಾಳು ಮಾಡದೆಯೇ ಅದರ Catalogs ಅನ್ನು ಸಮೃದ್ಧಗೊಳಿಸಿ

ಅನೇಕ Magento ಬಳಕೆದಾರರು ಒಂದೇ ರೀತಿಯ ಸಮಸ್ಯೆಯನ್ನು ಎದುರಿಸುತ್ತಿದ್ದಾರೆ. ನಿಮ್ಮ ಬಳಿ ಸಾವಿರಾರು ಉತ್ಪನ್ನಗಳಿದ್ದು, ಅವುಗಳಲ್ಲಿ ಗುಣಲಕ್ಷಣಗಳು (attributes) ಅಡಗಿರುವುದು, ಕಡಿಮೆ ವಿವರಣೆಗಳು ಅಥವಾ ಅನುವಾದಗಳಿಲ್ಲದಿರುವುದು ಸಾಮಾನ್ಯವಾಗಿದೆ.

ಡೇಟಾ ಮೂಲಗಳನ್ನು (data sources) ಹುಡುಕುವುದು ಸುಲಭ. ಆದರೆ ನಿಮ್ಮ ಸ್ಟೋರ್ ಕುಸಿಯದಂತೆ (crashing) ಆ ಡೇಟಾವನ್ನು ನಿಮ್ಮ ಕ್ಯಾಟಲಾಗ್‌ಗೆ ಸೇರಿಸುವುದು ಕಷ್ಟದ ಕೆಲಸ.

ಉತ್ಪನ್ನಗಳನ್ನು ಒಂದೊಂದಾಗಿ ಉಳಿಸಲು (save) ಸರಳವಾದ loop ಅನ್ನು ಬಳಸುವುದು ಸಾಮಾನ್ಯ ತಪ್ಪು.

ನೀವು loop ನಲ್ಲಿ product repository save method ಅನ್ನು ಬಳಸಿದರೆ, ಪ್ರತಿಯೊಂದು ಐಟೆಮ್‌ಗೂ ಪೂರ್ಣ lifecyle ಅನ್ನು ಪ್ರಚೋದಿಸುತ್ತೀರಿ (trigger). ನೀವು ಸಾವಿರಾರು ಬಾರಿ 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 ಗಳ ಬ್ಯಾಚ್‌ಗಳಲ್ಲಿ ಮಾಡಿ.

  • ನಿಮ್ಮ indexer settings ಬದಲಾಯಿಸಿ. ಪ್ರಾರಂಭಿಸುವ ಮೊದಲು ನಿಮ್ಮ indexers ಅನ್ನು Update by Schedule ಗೆ ಹೊಂದಿಸಿ. ನೀವು Update on Save ಬಳಸಿದರೆ, ಪ್ರತಿ ಬಾರಿಯೂ ಬರೆಯುವಾಗ (write) synchronous reindex ಪ್ರಚೋದನೆಯಾಗುತ್ತದೆ. On a schedule ಬಳಸಿದಾಗ, ಬರೆಯುವ ಮಾಹಿತಿಯು changelog ಗೆ ಹೋಗುತ್ತದೆ ಮತ್ತು cron job ಆ ಕೆಲಸವನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ.

  • ಅನುವಾದಗಳನ್ನು (translations) ಸರಿಯಾಗಿ ನಿರ್ವಹಿಸಿ. ಅನುವಾದ ಎಂಬುದು ನಿರ್ದಿಷ್ಟ store view ಗಾಗಿ ಇರುವ ಒಂದು attribute value ಆಗಿದೆ. updateAttributes method ಗೆ ಸರಿಯಾದ store ID ಅನ್ನು ಕಳುಹಿಸಿ. ಸ್ಥಳೀಯ ಭಾಷೆಗಳನ್ನು ಸೇರಿಸುವಾಗ ನಿಮ್ಮ global default values ಅನ್ನು ಅಳಿಸಬೇಡಿ (overwrite).

  • AI ಕಂಟೆಂಟ್ ಅನ್ನು ಎಚ್ಚರಿಕೆಯಿಂದ ನಿರ್ವಹಿಸಿ. LLMಗಳು ಉತ್ತಮ ಕಾಪಿಯನ್ನು ಬರೆಯುತ್ತವೆ ಆದರೆ ಆಗಾಗ್ಗೆ ತಪ್ಪು ಮಾಹಿತಿ (hallucinate facts) ನೀಡಬಹುದು. ಒಂದು ಶರ್ಟ್ ಪಾಲಿಎಸ್ಟರ್ ಆಗಿದ್ದರೂ ಅದು ಕಾಟನ್ ಎಂದು ಹೇಳಬಹುದು. • AI ಕಂಟೆಂಟ್ ಅನ್ನು ಮೊದಲು staging field ಅಥವಾ disabled scope ಗೆ ಬರೆಯಿರಿ. • ಲೈವ್ ಮಾಡುವ ಮೊದಲು ಸಣ್ಣ ಸ್ಯಾಂಪಲ್ ಅನ್ನು ಪರಿಶೀಲಿಸಿ. • 치수 (dimensions) ಮತ್ತು ವಸ್ತುಗಳಂತಹ (materials) ತಾಂತ್ರಿಕ ವಿವರಗಳನ್ನು (technical specs) ಪರಿಶೀಲಿಸಿದ ಡೇಟಾದಿಂದಲೇ ಪಡೆಯಿರಿ.

ಬಲ್ಕ್ ಎನ್ರಿಚ್‌ಮೆಂಟ್ (bulk enrichment) ಗಾಗಿ ಸಾರಾಂಶ:

  1. Indexers ಅನ್ನು scheduled mode ಗೆ ಹೊಂದಿಸಿ.
  2. ಹೊಸ ಡೇಟಾಕ್ಕಾಗಿ staging field ಬಳಸಿ.
  3. 1,000 ರಿಂದ 2,000 IDs ಗಳ ಬ್ಯಾಚ್‌ಗಳಲ್ಲಿ ಅಪ್‌ಡೇಟ್‌ಗಳನ್ನು ಅನ್ವಯಿಸಿ.
  4. ಪೂರ್ಣ product save path ಅನ್ನು ತಪ್ಪಿಸಿ.
  5. ಬದಲಾವಣೆಗಳನ್ನು reindex ಮಾಡಿ.
  6. ನಿಮ್ಮ ಉತ್ಪನ್ನ ಪುಟಗಳ ಸ್ಯಾಂಪಲ್ ಅನ್ನು ಪರೀಕ್ಷಿಸಿ.

ಡೇಟಾ ಮೂಲಗಳನ್ನು ಹುಡುಕುವುದು ಸುಲಭವಾದ ಭಾಗ. ಆದರೆ ಲೈವ್ ಕ್ಯಾಟಲಾಗ್ ಅನ್ನು ನಿರ್ವಹಿಸಲು ವಿಭಿನ್ನ ವಿಧಾನದ ಅಗತ್ಯವಿದೆ.

Source: https://dev.to/iamrobindhiman/enriching-a-large-magento-catalog-without-melting-the-indexer-3mk9