当前位置:  首页>> 技术小册>> Magento零基础到架构师(系统管理)

每当一个或多个项目发生更改时,Adobe Commerce和Magento Open Source会自动重新索引。 触发重新索引的操作包括价格更改、创建目录或购物车价格规则、添加新类别等。 为了优化性能,Commerce使用索引器将数据累积到特殊表中。 随着数据的变化,必须更新索引表,或重新编制索引。 Commerce会作为后台进程重新索引,并且我们的店铺将在这些进程中保持可访问状态。

重新索引数据可加快处理速度,并减少客户必须等待的时间。 例如,如果我们将某个项目的价格从$4.99更改为$3.99,Commerce会对数据进行重新索引以显示商店中的价格变化。 如果没有索引,Commerce将不得不动态计算每个产品的价格;处理购物车价格规则、捆绑定价、折扣、分层定价等。 加载产品价格可能需要比客户愿意等待的时间更长的时间。

索引器可以设置为在保存时或按计划更新。 所有索引都可以使用任一选项,但Customer Grid除外,它仅在保存时支持。 在保存时索引时,Commerce会在保存操作时启动重新索引。 “索引管理”页完成更新并刷新缓存,在一两分钟之内出现重新索引消息。 按照计划重新索引时,重新索引将按照计划作为cron作业运行。 如果出现以下情况,则会显示系统消息 cron作业 不可用于更新任何失效的索引器。 在重新索引过程中,我们店铺仍可访问。

当需要重新索引时,将在页面顶部显示通知。 根据重新索引模式和我们执行的潜在操作,将清除索引和消息。 有关索引的更多详细信息,请参阅 应用程序如何实施索引 在 PHP开发人员指南.

对于平面产品目录,索引管理的呈现方式略有不同。

为避免在多个Admin用户更新触发自动重新索引的对象时出现问题,建议将所有索引器设置为按计划运行 cron作业. 否则,每次保存对象时,任何具有相互依赖关系的对象都可能导致死锁。 死锁的症状包括高CPU使用率和MySQL错误。 作为最佳实践,建议我们使用计划索引。

重新索引的最佳实践

在Commerce中,重新索引和缓存有不同的用途。 索引可以跟踪数据库信息,以提高搜索性能、加快存储前端的数据检索速度等等。 缓存 保存加载的数据、图像、格式等,以提高加载和访问店面的性能。

通常,在Commerce中更新数据时想要重新索引。
如果我们有一个或多个商店,则可能需要将索引器(如类别和产品)设置为计划的cron作业,因为可能会重新索引循环。 我们可能希望在非高峰时间按计划设置重新索引。
重新索引时,我们不需要同时执行刷新缓存。
对于新的Commerce安装,我们必须刷新缓存并重新索引。
刷新缓存和重新索引不会刷新计算机的Web浏览器缓存。 完成店面的更新后,清除浏览器缓存。

更改索引模式

IMPORTANT
对于使用的商店 Adobe Commerce B2B 并将Elasticsearch设置为全文(catalogsearch_fulltext)索引器:在批量权限发生更改或“权限”索引器处于“已计划”模式时,必须重新运行全文索引。

在 管理员 侧栏,转到 System > Tools>Index Management.

选中要更改的每个索引器的复选框。

设置 Actions 更改为以下任一项:

  • Update on Save
  • Update by Schedule
  • Invalidate index
  • IMPORTANT

只能使用以下方式重新索引客户网格 Update on Save. 此索引可以 非 支持 Update by Schedule.
单击 Submit 将更改应用于每个选定的索引器。

“索引管理”列

描述
Indexer 索引器的名称。
Description 索引器的描述。
Mode 指示每个索引器的当前更新模式。 选项:Update on Save— 将索引设置为在保存实体更改时更新。 该等实体包括产品、类别及客户。 保存操作完成后,一系列步骤开始捕获更改并更新索引。 “索引管理”页会在一两分钟内更新并刷新重新索引消息。Update on Schedule — 索引设置为根据 cron作业. cron作业包括重新索引的时间表间隔,在运行时将更新写入索引。
Schedule Status 显示计划状态更新。
Status 显示以下选项之一:Ready— 索引是最新的。Suspended — 重新索引已暂停。Processing— 当前正在重新编制索引。Reindex Required — 已做出需要重新索引的更改,但索引器无法自动更新。 检查以查看 cron 可用且配置正确。
Updated 指示上次更新索引的日期和时间。

使用命令行重新索引

Commerce使用命令行提供了其他重新索引选项。 有关完整的详细信息和命令选项,请参见 重新索引{:target=”blank”}在 配置指南.

重新索引触发器

索引类型 重新索引事件
Product Prices 添加客户组更改配置设置
Flat catalog product data 添加存储添加商店组添加、编辑或删除属性(用于搜索和筛选)
Flat catalog category data 添加存储添加商店组添加、编辑或删除属性(用于搜索和筛选)
Catalog category/product index 添加、编辑或删除产品(单次、成批和导入)更改产品与类别的关系添加、编辑或删除类别添加或删除商店删除商店组删除网站
Catalog search index 添加、编辑或删除产品(单次、成批和导入)添加或删除商店删除商店组删除网站
Stock status index 更改清单配置设置。
Category permissions index 添加存储添加商店组添加、删除或更新属性(用于搜索和筛选)

索引操作和控件

操作 结果 控件
创建商店、新客户组或中列出的任何操作 Actions that Cause a Full Reindex 完全重新索引 完全重新索引按照我们的Adobe Commerce或Magento Open Sourcecron作业确定的时间表执行。
批量加载项目(Commerce导入/导出、直接SQL查询以及任何其他直接添加、更改或删除数据的方法) 部分重新索引(仅对更改的项目重新索引) 频率由我们的Commerce cron作业决定。
更改范围(例如,从全局更改为网站) 部分重新索引(仅对更改的项目重新索引) 频率由我们的Commerce cron作业决定。

触发完全重新索引的事件

索引器 事件
Catalog Category Flat Indexer 创建网络商店创建Web商店视图创建或删除属于以下任意属性的属性:— 在高级搜索中可搜索或可见— 可筛选— 可在搜索中筛选— 用于排序将现有属性更改为前面的任一属性。启用平面类别店面选项
Catalog Product Flat Indexer 创建网络商店创建Web商店视图创建或删除属于以下任意属性的属性:— 在高级搜索中可搜索或可见— 可筛选— 可在搜索中筛选— 用于排序将现有属性更改为前面的任一属性。启用平面类别店面选项
Stock status indexer 当满足以下条件时 目录清单选项 更改系统配置:Stock Options — 显示缺货产品Product Stock Options — 管理库存
Price Indexer 添加客户组。当系统配置中的以下任何目录清单选项发生更改时:Stock Options — 显示缺货产品Product Stock Options — 管理库存Price — 目录价格范围
Category or Product Indexer 创建或删除商店视图删除商店删除网站

该分类下的相关小册推荐: