实时搜索目录未同步

本文为使用Live Search扩展时目录数据无法正确同步的Adobe Commerce问题提供了解决方案。

受影响的产品和版本

  • 已安装Live Search扩展的Adobe Commerce 2.4.x

问题

您的目录数据未正确同步,或者添加了新产品,但未显示在搜索结果中。

重现问题的步骤

  1. 按照中的说明,为Adobe Commerce实例配置并连接Live Search 安装Live Search >配置API密钥 在我们的用户文档中。
  2. 30分钟后,验证导出的目录数据,如中所述 安装Live Search >验证导出 在我们的用户文档中。
  3. 30分钟后,按照中所述测试连接 安装Live Search >测试连接 在我们的用户文档中。

  1. 向目录中添加新产品。
  2. 尝试在运行Magento索引器+ cron后的15-20分钟后使用产品名称或其他可搜索属性运行搜索查询,以将数据同步到后端服务。

预期结果

  • 可以验证导出的目录数据
  • 连接成功
  • 新产品会显示在搜索结果中。

实际结果

无法验证导出的目录和/或连接未建立,因为API密钥已更改。

解决方案

您可以通过多种方法来尝试并修复目录同步问题。

等待应用更改

配置并连接后,可能需要超过30分钟才能在ES(Elasticsearch)中创建索引并返回搜索结果。 后续的一次性产品更新预计会在几分钟内编制索引。

同步特定SKU的产品数据

如果特定SKU的产品数据未正确同步,请执行以下操作:

  1. 使用以下SQL查询并验证您是否在 feed_data 列。 此外,请记下 modified_at 时间戳。

    code language-sql
    select * from catalog_data_exporter_products where sku = '<your_sku>' and store_view_code = '<your_ store_view_code>';
    
  2. 如果看不到正确的数据,请尝试使用以下命令重新编制索引,然后在步骤1中重新运行SQL查询以验证数据:

    code language-bash
    bin/magento indexer:reindex catalog_data_exporter_products
    
  3. 如果您仍然看不到正确的数据, 创建支持票证.

检查上次产品导出的时间戳

  1. 如果您在中看到正确的数据 catalog_data_exporter_products,使用以下SQL查询检查上次导出的时间戳。 它应在 modified_at 时间戳:

    code language-sql
    select * from flag where flag_code = 'products-feed-version';
    
  2. 如果时间戳较旧,则可以等待下一个cron运行,也可以使用以下命令自行触发该时间戳:

    code language-bash
    bin/magento cron:run --group=saas_data_exporter
    
  3. 等待 <> 时间(增量更新的时间)。 如果您仍未看到数据, 创建支持票证.

同步特定的属性代码

如果特定属性代码的产品属性数据未正确同步,请执行以下操作:

  1. 使用以下SQL查询并验证您是否在 feed_data 列。 此外,请记下 modified_at 时间戳。

    code language-sql
    select * from catalog_data_exporter_product_attributes where json_extract(feed_data, '$.attributeCode') = '<your_attribute_code>' and store_view_code = '<your_ store_view_code>';
    
  2. 如果看不到正确的数据,请使用以下命令重新编制索引,然后重新运行步骤1中的SQL查询来验证数据。

    code language-bash
    bin/magento indexer:reindex catalog_data_exporter_product_attributes
    
  3. 如果您仍然看不到正确的数据, 创建支持票证.

检查上次产品属性导出的时间戳

如果您在中看到正确的数据 catalog_data_exporter_product_attributes

  1. 使用以下SQL查询检查上次导出的时间戳。 它应在 modified_at 时间戳。

    code language-sql
    select * from flag where flag_code = 'product-attributes-feed-version';
    
  2. 如果时间戳较旧,则可以等待下一个cron运行,也可以使用以下命令自行触发该时间戳:

    code language-bash
    bin/magento cron:run --group=saas_data_exporter
    
  3. 等待15-20分钟(增量更新的时间)。 如果您仍未看到数据,请 创建支持票证.

在API配置更改后同步

(已知问题)如果您更改了API配置,从而导致数据空间ID发生更改,并且发现目录更改不再同步,请运行以下命令:

bin/magento saas:resync --feed products
bin/magento saas:resync --feed productattributes

相关阅读

请参阅 载入Live Search 在我们的用户文档中。

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a