Adobe Commerce中的目录搜索重新索引失败
目录搜索重新索引在Adobe Commerce中失败,导致catalogsearch_fulltext索引器处于“需要重新索引”或“停止”状态。 搜索结果不反映最近的目录更新,并且索引操作返回与OpenSearch相关的错误。 要解决此问题,请在重新运行目录搜索索引之前验证索引器状态,确认OpenSearch配置,并验证cron作业。
描述 description
环境
- Adobe Commerce 2.4.x
- 云基础架构上的Adobe Commerce
- OpenSearch
问题/症状
- 尝试索引后,目录搜索仍处于 需要重新索引 状态。
catalogsearch_fulltext索引器无法完成重新索引操作。- 搜索结果不反映最近的目录更新或仍然不完整。
- 索引操作返回错误,如
Index is locked by another process, Fail in child process,或circuit_breaking_exception. - 目录更新后,搜索功能变得不可用
原因
当Adobe Commerce由于OpenSearch配置问题、索引锁定、cron失败、OpenSearch资源约束或与扩展相关的错误而无法完成catalogsearch_fulltext索引过程时,目录搜索重新索引失败。
解决方法 resolution
按照以下步骤解决问题
-
通过运行
bin/magento indexer:status并查看catalogsearch_fulltext的状态来验证目录搜索索引器的状态。 如果索引器显示需要重新索引,请继续执行其余的故障排除步骤。 -
通过运行
bin/magento config:show catalog/search/engine确认Adobe Commerce使用OpenSearch作为搜索引擎。 验证命令是否返回opensearch. -
使用
bin/magento indexer:reindex catalogsearch_fulltext运行手动重新索引。 命令完成后,验证storefront搜索是否返回预期结果。 -
如果目录搜索索引器仍然卡住或继续报告需要重新索引,请重置该索引器。 运行
bin/magento indexer:reset catalogsearch_fulltext,,然后重新运行bin/magento indexer:reindex catalogsearch_fulltext.注意:重置索引器只会重置索引器在Adobe Commerce中的状态。 它不会删除OpenSearch索引或删除目录数据。
-
通过运行bin/magento cron:run验证cron作业是否正确执行。 确认计划的索引过程成功运行并完成挂起的索引任务。
-
如果重新索引仍然失败,请查看确切的错误消息。
- 如果目录搜索保留在 需要重新索引 中,请验证cron功能,运行手动重新索引,并在必要时重置索引器。
-
检查错误消息是否显示 索引被另一个进程 锁定。
- 验证当前没有运行索引进程。
- 重置受影响的索引器。
- 重试重新索引。
-
检查错误消息是否在子进程 中显示 失败。
- 查看异常日志。
- 验证是否存在与OpenSearch相关的错误。
- 此错误通常是故障的一种症状,而不是故障的根本原因。
- 如果问题仍然存在,请联系Adobe支持。
-
检查错误消息是否显示
circuit_breaking_exception或[父]数据太大。- 查看任何可用的OpenSearch相关错误消息。
- 联系Adobe支持以进一步调查。
-
如果在重新索引后搜索结果仍然不完整:
- 验证搜索引擎配置。
- 验证目录搜索索引器状态。
- 刷新缓存(如有必要)。
-
请勿删除OpenSearch索引作为第一个疑难解答步骤。
- Adobe Commerce可以在重新索引操作期间重新创建搜索索引。
- 删除索引不能解决基础问题,如OpenSearch资源约束、OpenSearch运行状况问题、OpenSearch连接问题或索引操作失败。
- 如果根本原因与OpenSearch运行状况或基础架构相关,则重建索引会由于相同原因而失败。
-
如果问题仍然存在,请联系Adobe支持。
- 目录搜索重新索引始终失败。
- 索引器在重置后仍然卡住。
- 在索引过程中出现与OpenSearch相关的错误。
- 重新索引后,搜索功能仍然不可用。
- 该问题与特定环境无关。
- 使用上述故障诊断步骤无法识别根本原因。
包括以下信息:
- 来自
bin/magento indexer:status的输出 - 来自
bin/magento config:show catalog/search/engine的输出 - 相关异常日志
- 重新索引期间返回的确切错误消息
- 故障诊断过程中已执行的步骤
相关阅读
- 管理索引器
- 配置OpenSearch
- 搜索引擎概述
- Adobe Commerce Cloud上的OpenSearch服务
- 索引被另一个进程锁定