Magento 2 Cách mở khóa quy trình reindex


65

Tôi đang thực hiện một số thử nghiệm trong quy trình reindex Magento và tôi đã khóa quy trình chỉ số chứng khoán .

Làm thế nào tôi có thể mở khóa quá trình này?

Design Config Grid index has been rebuilt successfully in 00:00:02
Customer Grid index has been rebuilt successfully in 00:00:03
Category Products index has been rebuilt successfully in 00:00:00
Product Categories index has been rebuilt successfully in 00:00:00
Product Price index has been rebuilt successfully in 00:00:00
Product EAV index has been rebuilt successfully in 00:00:00
Stock index is locked by another reindex process. Skipping.
Catalog Rule Product index has been rebuilt successfully in 00:00:00
Catalog Product Rule index has been rebuilt successfully in 00:00:00
Catalog Search index has been rebuilt successfully in 00:00:06

Câu trả lời:


118

Bạn có thể thiết lập lại bộ chỉ mục thông qua dòng indexer:resetlệnh bằng lệnh.

Điều này sẽ đưa ra danh sách tên chỉ mục:

php bin/magento indexer:info

Đầu ra:

design_config_grid                       Design Config Grid
customer_grid                            Customer Grid
catalog_category_product                 Category Products
catalog_product_category                 Product Categories
catalog_product_price                    Product Price
catalog_product_attribute                Product EAV
catalogsearch_fulltext                   Catalog Search
cataloginventory_stock                   Stock
catalogrule_rule                         Catalog Rule Product
catalogrule_product                      Catalog Product Rule

Điều này sẽ đưa ra danh sách trạng thái chỉ mục:

php bin/magento indexer:status

Đầu ra:

Design Config Grid:                                Ready
Customer Grid:                                     Ready
Category Products:                                 Ready
Product Categories:                                Ready
Product Price:                                     Ready
Product EAV:                                       Ready
Catalog Search:                                    Ready
Stock:                                             Processing
Catalog Rule Product:                              Ready
Catalog Product Rule:                              Ready

Nếu bạn muốn đặt lại tất cả các chỉ mục, bạn có thể chạy lệnh sau:

php bin/magento indexer:reset

Nếu bạn muốn đặt lại chỉ mục cụ thể (ví dụ cataloginventory_stock), bạn có thể chạy lệnh sau:

php bin/magento indexer:reset cataloginventory_stock

1
Việc đặt lại chỉ mục có làm mất bất kỳ dữ liệu nào đang chờ để được lập chỉ mục không?
ol'bob dole

Tôi cũng đang đối mặt với vấn đề tương tự trong magento 2.2.4 enterprise editiontôi đã giải quyết bằng cách sử dụng bước trên nhưng sản phẩm của tôi không hiển thị ở phía trước. vấn đề gì là ý tưởng?
Chirag Patel

Tuyệt vời, đã giúp tôi rất nhiều ..
Amy

10

Khi tôi gặp phải tình huống này, tôi phải chạy truy vấn SQL sau trực tiếp vào cơ sở dữ liệu:

UPDATE indexer_state SET status = 'valid';

Tôi không thể tìm thấy bất kỳ tùy chọn nào để buộc reindexing khi một chỉ mục đã thất bại trước đó.


6

Trên MySQL chạy:

SET SQL_SAFE_UPDATES = 0;
update indexer_state set status = 'invalid' where status != 'valid';

Sau đó, trên thiết bị đầu cuối của bạn chạy:

php bin/magento indexer:reindex

Nó thường xảy ra khi giới hạn bộ nhớ còn ít, vì vậy hãy tăng cấu hình .htaccess hoặc NGINX của bạn .


1

Chỉ cần sử dụng các lệnh:

php bin/magento indexer:reset
php bin/magento indexer:reindex
php bin/magento cache:clean full_page block_html

0

Cũng có thể bạn chạy vào trạng thái nơi một số bảng bị khóa trong MySQL. Trong trường hợp này, bạn có thể đưa ra unlock tables;tuyên bố sql để có thể tiến hành.

Tôi gặp phải một vấn đề như thế này:

Category Products indexer process unknown error:
SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction, query was: INSERT INTO

Trường hợp tôi không thể lập chỉ mục lại cho đến khi khóa bảng được gỡ bỏ.

Việc đặt lại chỉ mục có làm mất bất kỳ dữ liệu nào đang chờ để được lập chỉ mục không? - nốt ruồi ol'bob

Lập chỉ mục là một quá trình xem xét tập dữ liệu và lưu trữ một số khóa để ghép với dữ liệu phù hợp. Bạn sẽ mất chỉ mục hiện tại của bạn trong quá trình và nó tạo lại nó. Ngoài tác dụng phụ của chỉ mục sử dụng hết tài nguyên hoặc dữ liệu của bạn không chính xác, sẽ không có rủi ro để lập chỉ mục lại.


0

Chỉ cần chạy các lệnh này

Trình lập chỉ mục bin bin / magento: đặt lại trình lập chỉ mục php bin / magento: reindex


-2

Tôi đã giải quyết vấn đề này bằng các bước sau:

1.- thả bảng khách hàng_grid_flat

2.- Tạo lại bảng:

CREATE TABLE IF NOT EXISTS customer_grid_flat( entity_idint UNSIGNED NOT NULL COMMENT 'Entity ID', namevăn bản NULL COMMENT 'Tên', emailvarchar (255) NULL COMMENT 'Email', group_idint NULL COMMENT 'GROUP_ID', created_attimestamp NULL NULL default COMMENT 'created_at', website_idint COMLL NULL 'Website_id', confirmationvarchar (255) NULL COMMENT 'Confirmation', created_intext NULL COMMENT 'created_in', dobdate NULL COMMENT 'Dob', genderint NULL COMMENT 'Giới tính', taxvatvarchar (255) NULL COMMENT 'Taxvat', lock_expiresdấu thời gian NULL COMLL NULL 'Lock_Exires', shipping_fullvăn bản NULL COMMENT 'Shipping_full', billing_fullvăn bản NULL COMMENT ' Billing_full ', billing_firstnamevarchar (255) NULL COMMENT' Billing_firstname ', billing_lastnamevarchar (255) NULL COMMENT 'Billing_lastname', billing_telephonevarchar (255) NULL COMMENT 'Billing_telPhone', billing_postcodevarchar (255) NULL COMMENT 'Billing_postcode', billing_country_idvarchar (255) NULL COMMENT 'Billing_country_id', billing_regionvarchar (255) billing_streetvarchar (255) NULL COMMENT 'Billing_street', billing_cityvarchar (255) NULL COMMENT 'Billing_city', billing_faxvarchar (255) NULL COMMENT 'Billing_fax', billing_vat_idvarchar (255) NULL COMMENT 'Billing_vat_id', billing_companyvarchar (255) NULL COMMENT ' KHÓA CHÍNH ( entity_id), INDEX CUSTOMER_GRID_FLAT_GROUP_ID( group_id), INDEX CUSTOMER_GRID_FLAT_CREATED_AT( created_at), INDEX CUSTOMER_GRID_FLAT_WEBSITE_ID( website_id), INDEX CUSTOMER_GRID_FLAT_CONFIRMATION( confirmation),INDEX CUSTOMER_GRID_FLAT_DOB( dob), INDEXCUSTOMER_GRID_FLAT_GENDER( gender), INDEX CUSTOMER_GRID_FLAT_BILLING_COUNTRY_ID( billing_country_id), toàn văn FTI_8746F705702DD5F6D45B8C7CE7FE9F2F( name, email, created_in, taxvat, shipping_full, billing_full, billing_firstname, billing_lastname, billing_telephone, billing_postcode, billing_region, billing_city, billing_fax, billing_company)) COMMENT = 'customer_grid_flat' ENGINE = InnoDB charset = utf8 đối chiếu = utf8_general_ci

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.