[Endast PaaS]{class="badge informative" title="Gäller endast Adobe Commerce i molnprojekt (Adobe-hanterad PaaS-infrastruktur) och lokala projekt."}

Katalogen för Live-sökning är inte synkroniserad

Den här artikeln innehåller lösningar på Adobe Commerce-problemet där katalogdata inte synkroniseras korrekt när du använder tillägget Live Search.

Berörda produkter och versioner

  • Adobe Commerce 2.4.x med Live Search-tillägg installerat

Problem

Katalogdata är inte korrekt synkroniserade eller så har en ny produkt lagts till, men visas inte i sökresultaten. Du kan även få följande fel i var/log/exception.log:

Magento_LiveSearch: An error occurred in search backend. {"result":{"errors":[{"message":"Exception while fetching data (/productSearch) : No index was found for this request"}]}}

NOTE
Tabellnamnen catalog_data_exporter_products och catalog_data_exporter_product_attributes kallas nu cde_products_feed och cde_product_attributes_feed från och med Live Search version 4.2.1. För handlare med versioner före 4.2.1, sök efter data i de gamla tabellnamnen, catalog_data_exporter_products och catalog_data_exporter_product_attributes.

Steg som ska återskapas

  1. Konfigurera och anslut Live Search för din Adobe Commerce-instans enligt beskrivningen i Installera Live Search > Konfigurera API-nycklar i användardokumentationen.
  2. Efter 30 minuter kontrollerar du de exporterade katalogdata som beskrivs i Installera Live Search > Verifiera export i användardokumentationen.
  3. Efter 30 minuter testar du anslutningen enligt beskrivningen i Installera Live Search > Testa anslutningen i användardokumentationen.

eller

  1. Lägg till en ny produkt i katalogen.
  2. Försök att köra en sökfråga med produktnamnet eller andra sökbara attribut efter 15-20 minuter från det att Magento indexer + cron har körts för att synkronisera data till serverdelstjänsten.

Förväntat resultat

  • Exporterade katalogdata kan verifieras
  • Anslutningen lyckades
  • Ny produkt visas i sökresultaten.

Faktiskt resultat

Det går inte att verifiera den exporterade katalogen och/eller anslutningen har inte upprättats eftersom API-nyckeln har ändrats.

Lösning

Det finns flera saker du kan göra för att försöka åtgärda problemet med katalogsynkronisering.

Vänta på att ändringarna ska tillämpas

När du har konfigurerat och anslutit kan det ta över 30 minuter innan indexet i ES (Elasticsearch) skapas och sökresultaten returneras. Efterföljande engångsuppdateringar förväntas indexeras inom några minuter.

Synkronisera produktdata för en specifik SKU

Om dina produktdata inte synkroniseras korrekt för en viss SKU gör du följande:

  1. Använd följande SQL-fråga och verifiera att du har de data du förväntar dig i kolumnen feed_data. Notera också tidsstämpeln modified_at.

    code language-sql
    SELECT * FROM cde_products_feed WHERE json_extract(feed_data, '$.sku') = '<your_sku>' AND json_extract(feed_data, '$.storeViewCode') = '<your_ store_view_code>';
    

    Exempel:

    code language-sql
    SELECT * FROM cde_products_feed WHERE json_extract(feed_data, '$.sku') = '24-MB04' AND json_extract(feed_data, '$.storeViewCode') = 'default';
    
  2. Om du inte ser rätt data kan du försöka indexera om med följande kommando och köra SQL-frågan igen i steg 1 för att verifiera data:

    code language-bash
    bin/magento indexer:reindex cde_products_feed
    
  3. Om du fortfarande inte ser rätt data skapar du en supportanmälan.

Kontrollera tidsstämpel för senaste produktexport

  1. Om du ser rätt data i cde_products_feed använder du följande SQL-fråga för att kontrollera tidsstämpeln för den senaste exporten. Det ska vara efter tidsstämpeln modified_at:

    code language-sql
    select * from scopes_website_data_exporter;
    
  2. Om tidsstämpeln är äldre kan du antingen vänta på nästa kron-körning eller utlösa den själv med följande kommando:

    code language-bash
    bin/magento cron:run --group=saas_data_exporter
    
  3. Vänta i <> tid (tid för inkrementella uppdateringar). Om du fortfarande inte ser dina data skapar du en supportanmälan.

Synkronisera specifik attributkod

Om produktattributdata inte synkroniseras korrekt för en viss attributkod gör du följande:

  1. Använd följande SQL-fråga och verifiera att du har de data du förväntar dig i kolumnen feed_data. Notera också tidsstämpeln modified_at.

    code language-sql
    select * from cde_product_attributes_feed where json_extract(feed_data, '$.attributeCode') = '<your_attribute_code>' and store_view_code = '<your_ store_view_code>';
    
  2. Om du inte ser rätt data använder du följande kommando för att indexera om och kör sedan SQL-frågan igen i steg 1 för att verifiera data.

    code language-bash
    bin/magento indexer:reindex cde_product_attributes_feed
    
  3. Om du fortfarande inte ser rätt data skapar du en supportanmälan.

Kontrollera tidsstämpel för export av senaste produktattribut

Om du ser rätt data i cde_product_attributes_feed:

  1. Använd följande SQL-fråga för att kontrollera tidsstämpeln för den senaste exporten. Det ska vara efter tidsstämpeln modified_at.

    code language-sql
    select * from scopes_website_data_exporter;
    
  2. Om tidsstämpeln är äldre kan du antingen vänta på nästa kron-körning eller utlösa den själv med följande kommando:

    code language-bash
    bin/magento cron:run --group=saas_data_exporter
    
  3. Vänta i 15-20 minuter (tid för stegvisa uppdateringar). Om du fortfarande inte ser dina data kan du skapa en supportanmälan.

Synkronisera efter ändring av API-konfiguration

(Känt fel) Om du har ändrat din API-konfiguration, vilket leder till en ändring av ditt Data Space-ID och upptäcker att katalogändringarna inte längre synkroniseras, kör du följande kommandon för att synkronisera om flödena:

bin/magento saas:resync --feed productattributes --cleanup-feed
bin/magento saas:resync --feed products --cleanup-feed
bin/magento saas:resync --feed scopesCustomerGroup --cleanup-feed
bin/magento saas:resync --feed scopesWebsite --cleanup-feed
bin/magento saas:resync --feed prices --cleanup-feed
bin/magento saas:resync --feed productOverrides --cleanup-feed
bin/magento saas:resync --feed variants --cleanup-feed
bin/magento saas:resync --feed categories --cleanup-feed
bin/magento saas:resync --feed categoryPermissions --cleanup-feed

Skicka en supportförfrågan om du vill begära omindexering av Live Search-indexet. I felbeskrivningen tar du med ditt ID för datautrymme/miljö som finns på administratörspanelen under System > Services > Commerce Services Connector.

IMPORTANT
Om du använder alternativet --cleanup-feed i andra fall kan det orsaka dataförlust och problem med datasynkronisering. Använd den bara när du har en ny, tom miljö, när Adobe-teamet har slutfört en rensningsåtgärd för datautrymme eller när du kör kommandot saas:resync med alternativet —dry-run . Om du använder alternativet --cleanup-feed i andra fall kan det orsaka dataförlust och problem med datasynkronisering.

Relaterad läsning

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