Configurar para sucesso com Live Search
O Adobe Commerce Live Search e o Catalog Service trabalham juntos para fornecer uma solução de pesquisa intuitiva, relevante e eficiente, que permite aos clientes encontrar o que precisam com rapidez. Especificamente, Catalog Service exibe seus dados de catálogo para serviços SaaS, como Live Search para usar.
Este artigo fornece as instruções passo a passo para implementar o Live Search com o Catalog Service.
Público-alvo
Este artigo destina-se ao desenvolvedor ou ao integrador de sistemas de sua equipe responsável pela instalação e configuração da instância do Adobe Commerce.
Requisitos
- Adobe Commerce 2.4.4+
- PHP 8.1 / 8.2 / 8.3
- Composer
Plataformas compatíveis
- Adobe Commerce na nuvem (ECE): 2.4.4+
- Adobe Commerce no local (EE) : 2.4.4+
Visão geral do fluxo de trabalho
Em um nível superior, a integração do Live Search exige que você:
1. Instalar a extensão Live Search
Live Search está instalado como uma extensão do Adobe Marketplace até o Composer. Após instalar e configurar o Live Search, o Adobe Commerce começa a compartilhar dados de pesquisa e catálogo com serviços SaaS. Neste ponto, os usuários do Administrador podem configurar, personalizar e gerenciar aspectos de pesquisa, sinônimos e regras de merchandising.
-
Confirme se os trabalhos do cron e os indexadores estão em execução.
note important IMPORTANT Devido ao anúncio do fim de suporte do Elasticsearch 7 para agosto de 2023, é recomendável que todos os clientes do Adobe Commerce migrem para o mecanismo de pesquisa OpenSearch 2.x. Para obter informações sobre como migrar o mecanismo de pesquisa durante uma atualização de produto, consulte Migrando para OpenSearch no Guia de Atualização. -
Baixe o pacote
live-search
do Adobe Marketplace. -
Execute o seguinte a partir da linha de comando:
code language-bash composer require magento/live-search
Se você estiver adicionando a extensão Live Search a uma instalação do Adobe Commerce new, execute o procedimento a seguir para desabilitar o OpenSearch e os módulos relacionados, e instale o Live Search. Em seguida, siga para a etapa 4.
code language-bash bin/magento module:disable Magento_Elasticsearch Magento_Elasticsearch7 Magento_OpenSearch Magento_ElasticsearchCatalogPermissions Magento_InventoryElasticsearch Magento_ElasticsearchCatalogPermissionsGraphQl
Se você estiver adicionando a extensão Live Search a uma instalação do Adobe Commerce existente, execute o procedimento a seguir para desabilitar temporariamente os módulos Live Search que apresentam os resultados da pesquisa de vitrine. Em seguida, siga para a etapa 4:
code language-bash bin/magento module:disable Magento_LiveSearchAdapter Magento_LiveSearchStorefrontPopover Magento_LiveSearchProductListing
O Elasticsearch continua gerenciando solicitações de pesquisa da loja enquanto o serviço do Live Search sincroniza dados de catálogo e indexa produtos em segundo plano.
-
Execute o seguinte:
code language-bash bin/magento setup:upgrade
-
Verifique se os indexadores a seguir estão definidos como "Atualizar por Agendamento":
- Feed do produto
- Feed de variante de produto
- Feed de atributos do catálogo
- Feed de preços do produto
- Feed de dados do site de escopos
- Feed de dados dos grupos de clientes dos escopos
- Feed de categorias
- Feed de permissões de categoria
-
Se estiver instalando o Live Search em uma nova instância do Commerce, você está pronto e pode pular para o 2. Configurar seção de chaves de API. Se estiver instalando o Live Search em uma instância existente do Commerce, continue para a próxima etapa.
-
Execute os seguintes comandos para habilitar a extensão Live Search, desabilitar OpenSearch e executar
setup
.code language-bash bin/magento module:enable Magento_LiveSearchAdapter Magento_LiveSearchStorefrontPopover Magento_LiveSearchProductListing
code language-bash bin/magento module:disable Magento_Elasticsearch Magento_Elasticsearch6 Magento_Elasticsearch7 Magento_ElasticsearchCatalogPermissions Magento_InventoryElasticsearch Magento_ElasticsearchCatalogPermissionsGraphQl
code language-bash bin/magento setup:upgrade
2. Configurar chaves de API
A chave de API do Adobe Commerce e sua chave privada associada são necessárias para conectar o Live Search a uma instalação do Adobe Commerce. A chave de API é gerada e mantida na conta do detentor da licença Commerce, que pode compartilhá-la com o desenvolvedor ou com o integrador de sistemas. Em seguida, o desenvolvedor poderá criar e gerenciar os Espaços de dados SaaS em nome do detentor da licença. Se você já tiver um conjunto de chaves de API, não será necessário gerá-las novamente.
Saiba como configurar suas chaves de API no artigo Commerce Services Connector.
3. Sincronizar os dados do catálogo synchronize-catalog-data
Live Search move dados de catálogo para a infraestrutura SaaS do Adobe. Os dados são indexados e os resultados da pesquisa são enviados desse índice diretamente para a loja. Dependendo do tamanho e da complexidade, a indexação pode levar de 30 minutos a algumas horas.
Para iniciar a sincronização inicial dos dados do catálogo com os serviços SaaS, execute os seguintes comandos nesta ordem:
bin/magento saas:resync --feed productattributes
bin/magento saas:resync --feed products
bin/magento saas:resync --feed scopesCustomerGroup
bin/magento saas:resync --feed scopesWebsite
bin/magento saas:resync --feed prices
bin/magento saas:resync --feed productoverrides
bin/magento saas:resync --feed variants
bin/magento saas:resync --feed categories
bin/magento saas:resync --feed categoryPermissions
Quando você executa esses comandos, a sincronização inicial dos dados do catálogo com os serviços SaaS é iniciada.
cron
é executado para sincronizar os dados com os serviços SaaS.Monitorar progresso da sincronização
Você pode exibir os dados sincronizados e compartilhados usando o Painel de Gerenciamento de Dados. Esse painel fornece informações valiosas sobre a disponibilidade de dados de produtos para sua loja, garantindo que eles possam ser exibidos imediatamente para seus compradores.
Você também pode executar comandos de sincronização e solucionar problemas do processo de sincronização usando a CLI do Commerce e os logs de extensão de exportação de dados.
Futuras atualizações do produto
Após a sincronização inicial, pode levar até 15 minutos para que atualizações de produtos incrementais sejam disponibilizadas para pesquisa na loja. Para saber mais, consulte Indexação - Streaming de Atualizações de Produto.
4. Verifique se os dados foram exportados verify-export
Para verificar se os dados do catálogo foram exportados da sua instância do Adobe Commerce e estão sincronizados para Live Search, você tem algumas opções:
-
Procure entradas nas seguintes tabelas:
catalog_data_exporter_products
catalog_data_exporter_product_attributes
-
Use a GraphQL playground com a consulta padrão para verificar o seguinte:
- A contagem de produtos retornada está próxima do que você espera da exibição da loja.
- Os aspectos são retornados.
Para obter ajuda adicional, consulte Live Search catálogo não sincronizado na Base de Dados de Conhecimento de Suporte.
5. Configurar os dados
A configuração correta dos dados do produto garante bons resultados de pesquisa para os clientes. Nesta seção, você ativa os widgets da lista de produtos e atribui categorias.
Ativar widgets de listagem de produtos
Quando você instala o Live Search 4.0.0+, os Widgets de Listagem de Produtos são habilitados por padrão. Quando os widgets são ativados, um componente de interface do usuário diferente é usado para a página de resultados da pesquisa e para a navegação de categorias na Página de listagem de produtos. Este componente da interface faz chamadas diretas à API do Serviço de Catálogo, o que resulta em tempos de resposta mais rápidos.
Se você tiver uma versão do Live Search anterior à 4.0.0+, precisará habilitar manualmente o Widget de listagem de produtos.
-
No Admin, vá para Stores > Settings>Configuration.
-
Em Live Search, selecione Storefront Features.
-
Defina Enable Product Listing Widgets como
Yes
.
Quando você alterar essa configuração, a mensagem Page cache is invalidated
será exibida. É necessário liberar o cache de Magento para salvar a alteração.
-
Acesse a página Gerenciamento de Cache seguindo um destes procedimentos:
- Clique no link Cache Management na mensagem acima do espaço de trabalho.
- Na barra lateral Admin, vá para System > Tools>Cache Management.
-
Selecione a Configuração Cache Type e clique em Flush Magento Cache.
As alterações na loja são imediatas depois de liberar o cache.
Atribuir categorias
Os produtos retornados em Live Search devem ser atribuídos a uma categoria. Na Luma, por exemplo, os produtos são colocados em categorias como "Homens", "Mulheres" e "Engrenagens". As subcategorias também são configuradas para "Topos", "Partes inferiores" e "Inspeções". Isso permite uma melhor granularidade ao filtrar.
6. Testar a conexão test-connection
Com seus dados de catálogo agora em SaaS, teste para garantir que os dados do produto sejam retornados nas seguintes situações:
- A caixa Search retorna os resultados corretamente
- A pesquisa de categoria retorna os resultados corretamente
- Os aspectos estão disponíveis como filtros nas páginas de resultados da pesquisa
Se tudo funcionar corretamente, Live Search está instalado, conectado e pronto para uso.
Se você encontrar problemas na loja, verifique o arquivo var/log/system.log
em busca de falhas de comunicação da API ou erros no lado dos serviços.
Para permitir Live Search por meio de um firewall, adicione commerce.adobe.io
ao arquivo de inclui na lista de permissões.
7. Personalizar para sua loja
Você instalou a extensão Live Search, sincronizou, validou e configurou seus dados. Agora, você deverá garantir que os widgets do Live Search estejam de acordo com a aparência da sua loja.
Você pode estilizar os widgets popover e PLP definindo regras CSS personalizadas, conforme necessário. Consulte Elementos de Popover de Estilo e Widget de página de listagem de produtos.
Se você quiser estender a funcionalidade dos widgets, o código-fonte de cada um deles estará disponível em um repositório público.
Nesse cenário, você pode personalizar o JavaScript de acordo com suas necessidades e, em seguida, hospedar seu código personalizado no CDN. Este script personalizado se comunica com o serviço Live Search e retorna os resultados normalmente, permitindo que você controle a funcionalidade do widget.
Atualizando Live Search update
Antes de atualizar o Live Search, execute o seguinte na linha de comando para verificar a versão do Live Search instalada:
composer show magento/module-live-search | grep version
Para atualizar Live Search, execute o seguinte na linha de comando:
composer update magento/live-search --with-dependencies
Para atualizar para uma versão principal, como 3.1.1 para 4.0.0, edite o arquivo Composer .json
raiz do projeto da seguinte maneira:
-
Se sua versão do
magento/live-search
instalada no momento for a3.1.1
ou inferior, e você estiver atualizando para a versão4.0.0
ou superior, execute o seguinte comando antes da atualização:code language-bash bin/magento module:enable Magento_AdvancedSearch
Para obter informações sobre a versão
magento/live-search
instalada no momento, execute o seguinte comando:code language-bash composer show magento/live-search
-
Abra o arquivo raiz
composer.json
e procure pormagento/live-search
. -
Na seção
require
, atualize o número da versão da seguinte maneira:code language-json "require": { ... "magento/live-search": "^4.0", ... }
-
Salve
composer.json
. Em seguida, execute o seguinte a partir da linha de comando:code language-bash composer update magento/live-search --with-dependencies
Desinstalando Live Search uninstall
Para desinstalar o Live Search, consulte Desinstalar módulos.
Live Search pacotes packages
A extensão Live Search consiste nos seguintes pacotes:
module-live-search
module-live-search-adapter
- Navegação de categoria - Encaminha solicitações da navegação superior da vitrine para o serviço de pesquisa.
- Pesquisa global - Encaminha solicitações da caixa pesquisa rápida no canto superior direito da loja para o serviço Live Search.
module-live-search-storefront-popover
Live Search dependências dependencies
As seguintes dependências Live Search foram capturadas por Composer.
magento/module-saas-catalog
magento/module-saas-category
magento/module-saas-category-permissions
magento/module-saas-product-override
magento/module-saas-product-variant
magento/module-saas-price
magento/module-saas-scopes
magento/module-bundle-product-data-exporter
magento/module-catalog-inventory-data-exporter
magento/module-catalog-url-rewrite-data-exporter
magento/module-configurable-product-data-exporter
magento/module-parent-product-data-exporter
magento/module-gift-card-product-data-exporter
magento/module-bundle-product-override-data-exporter
data-services
services-id
Conceitos avançados
As seções a seguir fornecem tópicos mais avançados ao usar Live Search e Catalog Service.
Endpoint
Live Search se comunica através do ponto de extremidade em https://catalog-service.adobe.io/graphql
.
Como Live Search não tem acesso ao banco de dados completo do produto, Live Search o GraphQL e o Commerce Core GraphQL não terão paridade completa.
É recomendável chamar as APIs SaaS diretamente, especificamente o endpoint do Serviço de catálogo.
- Obter desempenho e reduzir a carga do processador, ignorando o processo de banco de dados/Graphql do Commerce
- Aproveite a federação Catalog Service para chamar Live Search, Catalog Service e Product Recommendations de um único ponto de extremidade.
Para alguns casos de uso, talvez seja melhor ligar para Catalog Service para obter detalhes sobre o produto e casos semelhantes. Consulte refineProduct para obter mais informações.
Se você tiver uma implementação headless personalizada, confira as Live Search implementações de referência:
Se você não usar os componentes padrão, como o Adaptador de pesquisa ou widgets do Luma, ou AEM CIF Widgets, o evento (dados de sequência de cliques que alimentam o Adobe Sensei para Merchandising inteligente e métricas de desempenho) não funcionará imediatamente e exigirá desenvolvimento personalizado para implementar eventos headless.
A última versão de Live Search já usa Catalog Service.
Suporte de idioma
Os widgets Live Search oferecem suporte aos seguintes idiomas:
Se o widget detectar que a configuração de idioma do Administrador do Commerce (Lojas > Configurações > Configuração > Geral > Opções de país) corresponde a um idioma com suporte, o padrão será esse idioma. Caso contrário, os widgets padrão serão em inglês.
Os administradores também podem definir o idioma do índice de pesquisa, para ajudar a garantir melhores resultados de pesquisa.
Repositório de código do widget
O widget Página de listagem de produtos e o widget de campo do Live Search estão disponíveis para download no repositório do github.
Isso permite que os desenvolvedores personalizem totalmente a funcionalidade e o estilo. Esses usuários hospedam o código enquanto ainda aproveitam o serviço Live Search.
Extensão Data Export
Depois que o Live Search é ativado, a extensão Exportação de dados sincroniza os dados do Commerce entre o aplicativo Commerce e o Live Search. Esse processo garante que os dados mais atuais do Commerce estejam disponíveis na loja. No Admin, você pode verificar o status da sincronização usando o painel Gerenciamento de dados. Você pode gerenciar e solucionar problemas do processo de exportação de dados usando a CLI e os logs do Commerce. Para obter detalhes, consulte o Guia de Exportação de Dados.
Inventory management
O Live Search oferece suporte aos recursos do Inventory management na Commerce (anteriormente conhecido como Inventário de Várias Source, ou MSI). Para habilitar o suporte completo, você deve atualizar o módulo de dependência commerce-data-export
para a versão 102.2.0+.
Live Search retorna um valor booleano observando se um produto está disponível no Inventory management, mas não contém informações sobre qual origem tem o estoque.
Indexador de preços
Os clientes do Live Search podem usar o indexador de preços do SaaS, que fornece atualizações de alteração de preço e tempo de sincronização mais rápidos.
Suporte de preço
Os widgets do Live Search são compatíveis com a maioria, mas não com todos os tipos de preço compatíveis com o Adobe Commerce.
Atualmente, os preços básicos são suportados. Os preços avançados que não são compatíveis são:
- Custo
- Preço Mínimo Anunciado
Examine a API Mesh para cálculos de preço mais complexos.
O formato de preço oferece suporte à definição de configuração de localidade na instância do Commerce: Lojas > Configurações > Configuração > Geral > Geral > Opções Locais > Localidade.
Suporte a vitrine headless
Opcionalmente, talvez seja necessário instalar o módulo module-data-services-graphql
que expande a cobertura de GraphQL existente do aplicativo para incluir campos necessários para a coleta de dados comportamentais da loja.
composer require magento/module-data-services-graphql
Esse módulo adiciona contextos adicionais às consultas do GraphQL:
dataServicesStorefrontInstanceContext
dataServicesMagentoExtensionContext
dataServicesStoreConfigurationContext
Suporte B2B
Live Search dá suporte à funcionalidade B2B com limitações adicionais.
suporte para PWA
O Live Search funciona com o PWA Studio, mas os usuários podem ver pequenas diferenças em comparação a outras implementações do Commerce. Funcionalidades básicas, como pesquisa e listagem de produtos, funcionam em Venia, mas algumas permutas de Graphql podem não funcionar corretamente. Também pode haver diferenças de desempenho.
- A implementação PWA atual de Live Search requer mais tempo de processamento para retornar resultados de pesquisa do que Live Search com a loja nativa do Commerce.
- Live Search no PWA não dá suporte a manipulação de eventos. Como resultado, os relatórios de pesquisa e o merchandising inteligente funcionarão.
- Não há suporte para a filtragem direta em
description
,name
,short_description
por GraphQL quando usada com PWA, mas ela é retornada com um filtro mais geral.
Para usar Live Search com o PWA Studio, os integradores também devem:
-
Instale o livesearch-storefront-utils.
-
Defina o
environmentId
no objetostoreDetails
.code language-javascript const storeDetails: StoreDetailsProps = { environmentId: <Storefront_ID>, websiteCode: "base", storeCode: "main_website_store", storeViewCode: "default", searchUnitId: searchUnitId, config: { minQueryLength: 5, pageSize: 8, currencySymbol: "$", }, };
Cookies
O Live Search coleta dados de interação do usuário como parte de sua funcionalidade base e os cookies são usados para armazenar esses dados. Ao coletar qualquer informação do usuário, ele deve concordar em armazenar cookies. Live Search e Product Recommendations compartilham o fluxo de dados e, portanto, o mesmo mecanismo de cookie. Leia mais sobre isso em Manipular restrições de cookies.