我找不到在magento 2上的大规模动作中重新编制索引的方法。
似乎您需要从cronjob运行它。是否有其他方法可以像过去在Magento 1.x(php shell/indexer.php -reindexall
)中一样从后端或命令行为magento 2中的数据重新编制索引?
我找不到在magento 2上的大规模动作中重新编制索引的方法。
似乎您需要从cronjob运行它。是否有其他方法可以像过去在Magento 1.x(php shell/indexer.php -reindexall
)中一样从后端或命令行为magento 2中的数据重新编制索引?
Answers:
要在magento 2中重新编制索引,请转到CLI,然后进入magento安装的根文件夹并运行以下命令:
php bin/magento indexer:reindex
这是使用Magento 2 CLI索引命令完成工作的方法
进入Magento / bin目录cd magento_folder / bin中提供的Magento CLI命令文件,并在终端或腻子中使用magento直接运行您的命令。
这是如何在Magento 2中建立索引的工作方式
PHP的bin / magento索引器:信息
以下命令将为您提供所有索引器的状态,无论是需要索引还是已准备好索引。
php bin / magento索引器:状态
您还可以检查单个索引器的状态:假设我要检查catalog_category_product的状态
php bin / magento索引器:状态catalog_category_product
php bin / magento索引器:reindex
如果您填满内存限制,请尝试以下命令
php bin / magento -dmemory_limit = 2G magento indexer:reindex
使用Magento CLI。php bin/magento indexer:reindex
从项目根目录运行。
如果有任何索引在循环,则可以使用重新设置所有索引,
indexer:reset
然后使用常规的重新索引
要从命令提示符重新索引,请运行以下命令:
php bin/magento indexer:reindex
上面的命令应该从magento根目录运行
在Magento根CLI上,运行以下命令
php bin/magento indexer:reset
然后运行以下命令
php bin/magento indexer:reindex
一种。从Magento管理员重新索引*有时并非所有索引器都使用admin reindex>也通过SSH检查重新索引
这将触发选定索引器的重新索引。
重要说明:有时,即使时间和日期在magento admin中显示为已更新,有时也并非所有索引器都使用admin reindex进行了重新索引。我们建议使用下面介绍的SSH / CLI重新索引方法仔细检查重新索引过程。
重新索引模式:您可以将索引器设置为“保存时更新”,并且在保存管理员配置时将对存储实体建立索引,或者将索引设置为“按计划更新”,并且索引器将被定期重新索引(默认为每天一次)。为了使“按计划更新”工作正常,请确保您的cron作业在服务器上正确运行。您的托管合作伙伴或开发团队可以帮助您进行cron作业配置。
做完了!
b。通过SSH / CLI重新索引(推荐)
连接到项目根目录中的Magento 2安装。(通常在public_html或yourmagentoinstallation.com/html下)
使用以下命令重新索引所有Magento 2索引器:
php bin/magento indexer:reindex
您将收到类似的结果,如下所示:
Design Config Grid索引已在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成功重建
检查索引器的状态,并确定仍需要单独重新索引的索引器,有时常规重新索引不适用于所有索引器
php bin/magento indexer:status
您将收到类似的结果,如下所示:
设计配置网格:就绪
客户网格:就绪
类别产品:就绪
产品类别:Ready
产品价格:准备就绪
产品EAV:就绪
目录搜索:就绪
库存:准备就绪
目录规则产品:需要重新索引
目录产品规则:就绪
显示需要用于单个重新索引的索引器列表和相应的索引器ID。
php bin/magento indexer:info
您将收到类似的结果,如下所示:
design_config_grid设计配置网格
customer_grid客户网格
catalog_category_产品类别产品
catalog_product_category产品类别
catalog_product_price产品价格
catalog_product_attribute产品EAV
catalogsearch_fulltext目录搜索
cataloginventory_stock库存
catalogrule_rule目录规则产品
catalogrule_product目录产品规则
使用以下命令为状态为“需要重新索引”的每个索引器重新索引
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
做完了!
有时为了简化起见,您可能想直接从管理员重新编制索引而不涉及cron(尤其是如果您尚未设置cron作业并且该站点仍在开发中)。在这种情况下,您可以使用免费扩展名Admin Reindex [M2],该扩展名允许您从admin重新编制索引。