วิธีการทำดัชนี Magento 1.x ใหม่โดยใช้บรรทัดคำสั่ง


17

ฉันจะทำดัชนีคุณภาพเยี่ยมอีกครั้งโดยใช้บรรทัดคำสั่งได้อย่างไร กรุณาระบุขั้นตอนสำหรับสิ่งเดียวกัน


2
นี่คือผลการค้นหาอันดับต้น ๆ ของ Google แต่คำตอบก็คือ Magento 1.x หากคุณต้องการคำตอบสำหรับ Magento 2.x โปรดดูmagento.stackexchange.com/questions/90510/ …
Scott C Wilson

คำตอบ:


41
step 1 : cd [MAGENTO_ROOT]/shell/

คุณควรแทนที่ [MAGENTO_ROOT] ด้วยพา ธ สัมบูรณ์ของคุณเองไปยังโฟลเดอร์รากของ Magento ตัวอย่างเช่น / home / Thief / public_html / จากนั้นแสดงรายการไฟล์ทั้งหมดเพื่อดูสิ่งที่เรามีที่นี่ เพียงแค่ป้อนคำสั่งง่ายๆ:

step 2 : ls -l

หากคุณสามารถหาบางสิ่งเช่น 'indexer.php' นั่นคือสิ่งที่เราต้องการและเราจะดำเนินการต่อไป หากต้องการดูสถานะของดัชนีทั้งหมดคุณสามารถดำเนินการคำสั่งได้

php indexer.php --status

step 3 : php indexer.php --reindex catalog_product_price 

ที่นี่ catalog_product_price เป็นประเภทดัชนีที่คุณต้องการสร้างใหม่ คุณสามารถใช้อาร์กิวเมนต์ถัดไปสำหรับดัชนีประเภทต่าง ๆ :

catalog_product_attribute Product Attributes
catalog_product_price Product Prices
catalog_url Catalog Url Rewrites
catalog_product_flat Product Flat Data
catalog_category_flat Category Flat Data
catalog_category_product Category Products
catalogsearch_fulltext Catalog Search Index
cataloginventory_stock Stock status

สำหรับการทำดัชนีใหม่ทั้งหมด: php indexer.php --reindexall

กระบวนการทำดัชนีพื้นหลังบางครั้งคุณอาจต้องการเรียกใช้กระบวนการนี้ในพื้นหลังเพื่อให้คุณสามารถปิดคอมพิวเตอร์ของคุณหรือเพียงแค่มีเบียร์สองสาม ในกรณีนี้คุณสามารถใช้เครื่องมือบรรทัดคำสั่งเรียกว่า 'nohup' จะช่วยให้คุณสามารถรันคำสั่ง CLI เกือบทั้งหมดในพื้นหลังเป็นอิสระจากเซสชั่นปัจจุบันของคุณ หากคุณต้องการทำดัชนีสิ่งใหม่ในพื้นหลังคำสั่งของคุณควรมีลักษณะดังนี้:

nohup php indexer.php --reindex catalog_product_price &

สำหรับข้อมูลเพิ่มเติมอ้างอิงลิงค์นี้


19

คุณสามารถใช้ได้

ไปที่โฟลเดอร์ shell และเรียกใช้ cmd นี้

php indexer.php --reindexall

สำหรับแยกต่างหาก

php yourmagentofolder/shell/indexer.php -reindex catalog_product_attribute
php yourmagentofolder/shell/indexer.php -reindex catalogsearch_fulltext
php yourmagentofolder/shell/indexer.php -reindex catalog_category_flat
php yourmagentofolder/shell/indexer.php -reindex cataloginventory_stock
php yourmagentofolder/shell/indexer.php -reindex catalog_category_product
php yourmagentofolder/shell/indexer.php -reindex catalog_product_price
php yourmagentofolder/shell/indexer.php -reindex tag_summary
php yourmagentofolder/shell/indexer.php -reindex catalog_url

9
@vaibhavahalpara ทำไมคุณบังคับให้เขาลบคำตอบ? ทุกคนสามารถแบ่งปันคำตอบที่พวกเขาคิดในใจ
Teja Bhagavan Kollepara


1

ใช้คำสั่งนี้จากโฟลเดอร์รูทของโปรเจ็กต์ของคุณเพื่อรันดัชนีทั้งหมด:

php shell/indexer.php --reindexall

นอกจากนี้คุณยังสามารถเรียกใช้ดัชนีเอนทิตีเฉพาะเช่นกันโดยผ่านเป็นอาร์กิวเมนต์ในคำสั่งเป็น:

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