Perkaya Katalog Magento Tanpa Merosakkan Indexer Ia
Ramai pengguna Magento menghadapi masalah yang sama. Anda mempunyai beribu-ribu produk dengan atribut yang hilang, deskripsi yang ringkas, atau tiada terjemahan.
Mencari sumber data adalah mudah. Bahagian yang sukar adalah memasukkan data tersebut ke dalam katalog anda tanpa menyebabkan kedai anda tergendala.
Kesilapan biasa adalah menggunakan gelung (loop) ringkas untuk menyimpan produk satu demi satu.
Jika anda menggunakan kaedah product repository save dalam satu gelung, anda mencetuskan kitaran hayat penuh bagi setiap item. Anda menjalankan pengesahan (validation), pemerhati (observers), dan pencetus pengindeksan semula (reindexing triggers) beribu-ribu kali. Ini menyebabkan skrip berjalan selama berjam-jam dan memperlahankan panel admin anda dengan ketara.
Laluan simpanan (save path) dibina untuk manusia yang menyunting satu produk. Ia adalah alat yang salah untuk kemas kini pukal.
Ikuti langkah-langkah ini untuk mengemas kini katalog anda dengan selamat:
Gunakan kemas kini atribut secara pukal. Daripada menyimpan keseluruhan model produk, gunakan
Magento\Catalog\Model\Product\Action. Gunakan kaedahupdateAttributesuntuk menulis terus ke jadual pangkalan data. Lakukan ini dalam kelompok (batches) sebanyak 1,000 hingga 2,000 ID pada satu-satu masa.Tukar tetapan indexer anda. Tetapkan indexer anda kepada Update by Schedule sebelum anda bermula. Jika anda menggunakan Update on Save, setiap penulisan akan mencetuskan pengindeksan semula secara segerak (synchronous). Dengan jadual (schedule), penulisan akan pergi ke log perubahan (changelog) dan tugasan cron (cron job) akan mengendalikan kerja tersebut.
Urus terjemahan dengan betul. Terjemahan adalah nilai atribut untuk paparan kedai (store view) yang khusus. Masukkan ID kedai yang betul ke dalam kaedah
updateAttributes. Jangan tindih nilai lalai global anda apabila menambah bahasa tempatan.Kendalikan kandungan AI dengan berhati-hati. LLM menulis salinan (copy) yang hebat tetapi sering kali memberikan fakta yang salah (hallucinate). Mereka mungkin menyatakan sehelai baju adalah kapas sedangkan ia adalah poliester. • Tulis kandungan AI ke dalam medan staging atau skop yang dinyahaktifkan terlebih dahulu. • Semak sampel kecil sebelum anda melancarkannya. • Pastikan spesifikasi teknikal seperti dimensi dan bahan diperoleh daripada data yang disahkan.
Ringkasan untuk pengayaan pukal:
- Tetapkan indexer ke mod berjadual.
- Gunakan medan staging untuk data baharu.
- Laksanakan kemas kini dalam kelompok 1,000 hingga 2,000 ID.
- Elakkan laluan simpanan produk penuh.
- Indeks semula perubahan tersebut.
- Uji sampel halaman produk anda.
Sumber data adalah bahagian yang mudah. Menguruskan katalog secara langsung memerlukan pendekatan yang berbeza.
Sumber: https://dev.to/iamrobindhiman/enriching-a-large-magento-catalog-without-melting-the-indexer-3mk9
