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

按照以下步骤解决问题

  1. 通过运行bin/magento indexer:status并查看catalogsearch_fulltext的状态来验证目录搜索索引器的状态。 如果索引器显示​需要重新索引,请继续执行其余的故障排除步骤。

  2. 通过运行bin/magento config:show catalog/search/engine确认Adobe Commerce使用OpenSearch作为搜索引擎。 验证命令是否返回opensearch.

  3. 使用bin/magento indexer:reindex catalogsearch_fulltext运行手动重新索引。 命令完成后,验证storefront搜索是否返回预期结果。

  4. 如果目录搜索索引器仍然卡住或继续报告​需要重新索引,请重置该索引器。 运行bin/magento indexer:reset catalogsearch_fulltext,,然后重新运行bin/magento indexer:reindex catalogsearch_fulltext.

    注意:重置索引器只会重置索引器在Adobe Commerce中的状态。 它不会删除OpenSearch索引或删除目录数据。

  5. 通过运行bin/magento cron:run验证cron作业是否正确执行。 确认计划的索引过程成功运行并完成挂起的索引任务。

  6. 如果重新索引仍然失败,请查看确切的错误消息。

    • 如果目录搜索保留在​ 需要重新索引 ​中,请验证cron功能,运行手动重新索引,并在必要时重置索引器。
  7. 检查错误消息是否显示​ 索引被另一个进程 ​锁定。

    • 验证当前没有运行索引进程。
    • 重置受影响的索引器。
    • 重试重新索引。
  8. 检查错误消息是否在子进程​ 中显示 ​失败。

    • 查看异常日志。
    • 验证是否存在与OpenSearch相关的错误。
    • 此错误通常是故障的一种症状,而不是故障的根本原因。
    • 如果问题仍然存在,请联系Adobe支持
  9. 检查错误消息是否显示circuit_breaking_exception或​[]数据太大

    • 查看任何可用的OpenSearch相关错误消息。
    • 联系Adobe支持以进一步调查。
  10. 如果在重新索引后搜索结果仍然不完整:

    • 验证搜索引擎配置。
    • 验证目录搜索索引器状态。
    • 刷新缓存(如有必要)。
  11. 请勿删除OpenSearch索引作为第一个疑难解答步骤。

    • Adobe Commerce可以在重新索引操作期间重新创建搜索索引。
    • 删除索引不能解决基础问题,如OpenSearch资源约束、OpenSearch运行状况问题、OpenSearch连接问题或索引操作失败。
    • 如果根本原因与OpenSearch运行状况或基础架构相关,则重建索引会由于相同原因而失败。
  12. 如果问题仍然存在,请联系Adobe支持

  • 目录搜索重新索引始终失败。
  • 索引器在重置后仍然卡住。
  • 在索引过程中出现与OpenSearch相关的错误。
  • 重新索引后,搜索功能仍然不可用。
  • 该问题与特定环境无关。
  • 使用上述故障诊断步骤无法识别根本原因。

包括以下信息:

  • 来自bin/magento indexer:status的输出
  • 来自bin/magento config:show catalog/search/engine的输出
  • 相关异常日志
  • 重新索引期间返回的确切错误消息
  • 故障诊断过程中已执行的步骤

相关阅读

recommendation-more-help
experience-cloud-kcs-help-kbarticles