การทำดัชนี Magento 2 Reindexing - ดัชนีอย่างน้อยหนึ่งรายการไม่ถูกต้อง ตรวจสอบให้แน่ใจว่างาน cron Magento ของคุณทำงานอยู่


78

ฉันไม่สามารถหาวิธีที่จะทำดัชนีใหม่ในการดำเนินการจำนวนมากในวีโอไอพี 2

ดูเหมือนว่าคุณจะต้องเรียกใช้จาก cronjob มีวิธีอื่นในการทำดัชนีข้อมูลใหม่ใน magento 2 จากแบ็กเอนด์หรือบรรทัดคำสั่งเหมือนกับที่เคยเป็นใน Magento 1.x ( php shell/indexer.php -reindexall) หรือไม่?

ป้อนคำอธิบายรูปภาพที่นี่


ขอโทษด้วย แต่ฉันใหม่ใน Magento ฉันได้ติดตั้ง Magento ในเครื่องไปที่ XAMPP ฉันใช้ Windows 7 และฉันอยากจะถามว่าฉันควรทำอย่างไร ?? ฉันได้รับข้อความเดียวกัน
Alex4842

1
@ Alex4842 สิ่งเดียวกันที่นี่ Running Magento on Win 10 พบสิ่งนี้: magento.stackexchange.com/questions/111132/ …
Mohammed Joraid

คุณสามารถจัดทำดัชนีแบ็กเอนด์ผ่านคู่มือนี้mageplaza.com/kb/how-reindex-magento-2.html
พูดความจริง

คำตอบ:


117

หากต้องการทำดัชนีใหม่ใน magento 2 ให้ไปที่ CLI แล้วไปที่โฟลเดอร์รูทของการติดตั้ง magento ของคุณและเรียกใช้คำสั่งด้านล่าง:

php bin/magento indexer:reindex


1
เพิ่งคิดออกจากที่นี่devdocs.magento.com/guides/v2.0/config-guide/cli/…
Harit

สำหรับผู้ที่ใช้ mac พวกเขาสามารถเปลี่ยนไดเรกทอรีเป็น install_dir / bin และเขียนคำสั่งนี้. / magento indexer :: reindex
Harit

2
มันบอกว่าคุณสามารถรับได้ใน 3 นาที xD
Harit


ฉันได้รับข้อผิดพลาดในการแยกวิเคราะห์ใน /Applications/MAMP/htdocs/Magento-CE-2.1.2-2016-10-11-11-16-16-47/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php ที่บรรทัด 93
Oli Tuck

22

รันคำสั่งนี้ใน CLI ของคุณ

ตัวสร้างดัชนี php bin / magento: reindex

และถ้าคุณต้องการทำดัชนีดัชนีเพียงดัชนีเดียวให้เขียนคำสั่งต่อไปนี้:

php bin / magento indexer: reindex indexer_name

ที่indexer_nameสามารถพบได้โดยการพิมพ์คำสั่งต่อไปนี้:

php bin / magento indexer: info


6

นี่คือวิธีที่คุณสามารถทำสิ่งต่าง ๆ ให้เสร็จสิ้นได้โดยใช้คำสั่งการจัดทำดัชนี Magento 2 CLI

เข้าสู่ไฟล์คำสั่ง Magento CLI ของคุณที่มีอยู่ใน Magento / bin directory cd magento_folder / bin และเรียกใช้ comamnd ของคุณโดยตรงโดยใช้ magento ใน terminal หรือ putty

นี่คือวิธีการทำงานสำหรับการจัดทำดัชนีใน Magento 2

รับรายการตัวสร้างดัชนีที่มีใน Magento 2

php bin / magento indexer: info

วิธีตรวจสอบสถานะของตัวทำดัชนี

คำสั่งดังต่อไปนี้จะทำให้คุณได้รับสถานะของตัวทำดัชนีทั้งหมดไม่ว่าจะเป็นการสร้างดัชนีที่จำเป็นหรือพร้อม

php bin / magento indexer: สถานะ

นอกจากนี้คุณยังสามารถตรวจสอบสถานะของตัวจัดทำดัชนีส่วนบุคคล: สมมติว่าฉันต้องการตรวจสอบสถานะของ catalog_category_product

php bin / magento indexer: status catalog_category_product

วิธีทำดัชนีดัชนีที่มีอยู่ทั้งหมดใน Magento 2

ตัวสร้างดัชนี php bin / magento: reindex

ในกรณีที่คุณเติมขีด จำกัด หน่วยความจำให้ลองคำสั่งนี้

php bin / magento -dmemory_limit = ตัวสร้างดัชนี magento 2G: reindex




1

เพื่อ Reindex จาก command prompt เรียกใช้คำสั่งด้านล่าง:

php bin/magento indexer:reindex

คำสั่งดังกล่าวควรจะเรียกใช้จากไดเรกทอรีรากของวีโอไอพี


1

บน Magento root CLI ให้รันคำสั่งด้านล่าง

php bin/magento indexer:reset

จากนั้นเรียกใช้คำสั่งด้านล่าง

php bin/magento indexer:reindex

0

โซลูชันทางเลือกเพิ่มphp bin/magento indexer:reindexคำสั่งที่ cronjob

ฉันได้ติดตามสิ่งนี้และทำงานบนระบบของฉันแล้ว



0

ทำดัชนีจาก Magento admin * บางครั้งตัวทำดัชนีบางตัวอาจไม่ทำดัชนีใหม่โดยใช้ผู้ดูแลระบบทำดัชนี> ตรวจสอบการทำดัชนีผ่าน SSH อีกครั้ง

  1. ไปที่ระบบ> การจัดการดัชนีและตรวจสอบสถานะตัวทำดัชนี
  2. เลือกรายการที่ทำเครื่องหมายว่า "ต้องการทำดัชนีซ้ำ" และไปที่การทำงาน> อัปเดตตามกำหนดเวลา

สิ่งนี้จะทริกเกอร์ดัชนีสำหรับดัชนีที่เลือกไว้

สำคัญ: บางครั้งตัวทำดัชนีบางตัวอาจไม่ได้ทำดัชนีใหม่ทั้งหมดโดยใช้ผู้ดูแลระบบทำดัชนีใหม่แม้ว่าเวลาและวันที่จะแสดงตามที่ได้รับการปรับปรุงในผู้ดูแลระบบ magento เราขอแนะนำให้ตรวจสอบกระบวนการทำดัชนีซ้ำอีกครั้งโดยใช้วิธีทำดัชนี SSH / CLI ที่แสดงด้านล่าง

โหมดการสร้างดัชนีใหม่: คุณสามารถตั้งค่าตัวจัดทำดัชนีของคุณเป็น "อัปเดตเมื่อบันทึก" และเอนทิตีของร้านค้าจะได้รับการจัดทำดัชนีเมื่อบันทึกการกำหนดค่าของผู้ดูแลระบบหรือเป็น "อัพเดตตามกำหนดเวลา" เพื่อให้ "อัปเดตตามกำหนดเวลา" ทำงานได้ตรวจสอบให้แน่ใจว่างาน cron ของคุณทำงานอย่างถูกต้องบนเซิร์ฟเวอร์ของคุณ พันธมิตรโฮสติ้งหรือทีมพัฒนาของคุณสามารถช่วยคุณกำหนดค่างาน cron

ป้อนคำอธิบายรูปภาพที่นี่

ทำ!

ข สร้างดัชนีใหม่ผ่าน SSH / CLI (แนะนำ)

  1. เชื่อมต่อกับการติดตั้ง Magento 2 ในรากของโครงการของคุณ (ปกติใน public_html หรือภายใต้ yourmagentoinstallation.com/html)

  2. ทำดัชนีดัชนี Magento 2 ทั้งหมดอีกครั้งโดยใช้คำสั่งด้านล่าง:

php bin/magento indexer:reindex

คุณจะได้รับผลลัพธ์ที่คล้ายกันดังที่แสดงด้านล่าง:

ดัชนีการกำหนดค่าการออกแบบตารางได้รับการสร้างขึ้นใหม่สำเร็จในเวลา 00:00:00

สร้างดัชนีกริดลูกค้าได้สำเร็จอีกครั้งในเวลา 00:00:00 น

สร้างหมวดหมู่ดัชนีผลิตภัณฑ์สำเร็จแล้วใน 00:00:00

ดัชนีหมวดหมู่ผลิตภัณฑ์ได้รับการสร้างขึ้นใหม่สำเร็จในเวลา 00:00:00

สร้างดัชนีราคาสินค้าใหม่สำเร็จใน 00:00:01

สร้างดัชนีผลิตภัณฑ์ EAV ใหม่อีกครั้งในเวลา 00:00:01

สร้างดัชนีการค้นหาแคตตาล็อกใหม่อีกครั้งในเวลา 00:00:01

สร้างดัชนีหุ้นใหม่สำเร็จในเวลา 00:00:00

สร้างแคตตาล็อกกฎผลิตภัณฑ์ใหม่อีกครั้งในเวลา 00:00:01

แคตตาล็อกกฎผลิตภัณฑ์สินค้าได้รับการสร้างขึ้นมาใหม่เรียบร้อยแล้วในเวลา 00:00:00

ป้อนคำอธิบายรูปภาพที่นี่

  1. ตรวจสอบสถานะของตัวจัดทำดัชนีและระบุตัวทำดัชนีที่ยังต้องทำการทำดัชนีแยกซ้ำบางครั้งการทำดัชนีทั่วไปไม่สามารถใช้ได้กับตัวทำดัชนีทั้งหมด

    php bin/magento indexer:status

คุณจะได้รับผลลัพธ์ที่คล้ายกันดังที่แสดงด้านล่าง:

ออกแบบกำหนดค่ากริด: พร้อม

ตารางลูกค้า: พร้อม

หมวดหมู่ผลิตภัณฑ์: พร้อม

หมวดหมู่สินค้า: Ready

ราคาสินค้า: พร้อม

ผลิตภัณฑ์ EAV: พร้อม

ค้นหาแคตตาล็อก: พร้อม

สต็อก: พร้อม

แคตตาล็อกผลิตภัณฑ์กฎ: จำเป็นต้องทำดัชนีใหม่

แคตตาล็อกสินค้ากฎ: พร้อม

ป้อนคำอธิบายรูปภาพที่นี่

  1. แสดงรายการของตัวทำดัชนีและ id ตัวทำดัชนีที่สอดคล้องกันซึ่งจำเป็นต้องใช้สำหรับแต่ละดัชนีใหม่

    php bin/magento indexer:info

คุณจะได้รับผลลัพธ์ที่คล้ายกันดังที่แสดงด้านล่าง:

design_config_grid ออกแบบกำหนดค่ากริด

customer_grid ตารางลูกค้า

หมวดหมู่ผลิตภัณฑ์

หมวดหมู่สินค้า

catalog_product_price ราคาสินค้า

catalog_product_attribute ผลิตภัณฑ์ EAV

catalogsearch_fulltext ค้นหาแคตตาล็อก

แคตตาล็อกสินค้าคงคลัง _ สต็อค

catalogrule_rule แค็ตตาล็อกผลิตภัณฑ์กฎ

catalogrule_product แคตตาล็อกสินค้ากฎ

ป้อนคำอธิบายรูปภาพที่นี่

  1. จัดทำดัชนีตัวทำดัชนีใหม่แต่ละรายการที่มีสถานะ "ต้องทำดัชนีใหม่" โดยใช้คำสั่งด้านล่าง

    php bin/magento indexer:reindex [catalog_category_flat]

ตัวอย่าง: php bin/magento indexer:reindex catalogrule_rule

php bin/magento indexer:reindex design_config_grid customer_grid
php bin/magento indexer:reindex catalog_category_product
php bin/magento indexer:reindex catalog_product_category
php bin/magento indexer:reindex catalog_product_price
php bin/magento indexer:reindex catalog_product_attribute
php bin/magento indexer:reindex catalogsearch_fulltext
php bin/magento indexer:reindex cataloginventory_stock
php bin/magento indexer:reindex catalogrule_rule
php bin/magento indexer:reindex catalogrule_product
  1. ตรวจสอบสถานะของตัวจัดทำดัชนีอีกครั้งโดยใช้คำสั่งจากขั้นตอนที่ 2 ตอนนี้ตัวจัดทำดัชนีทั้งหมดควรเป็น "พร้อม"

ทำ!


0

บางครั้งเพื่อให้ง่ายคุณอาจต้องการจัดทำดัชนีใหม่โดยตรงจากผู้ดูแลระบบโดยไม่เกี่ยวข้องกับ cron (โดยเฉพาะถ้าคุณไม่ได้ตั้งค่างาน cron ของคุณและเว็บไซต์ยังอยู่ในระหว่างการพัฒนา) ในกรณีเช่นนี้คุณสามารถใช้ส่วนเสริมฟรีผู้ดูแลระบบ Reindex [M2]ซึ่งช่วยให้คุณสามารถทำดัชนีจากผู้ดูแลระบบ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.