每当一个或多个项目发生更改时,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.
单击 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 | 创建或删除商店视图删除商店删除网站 |