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 versão 8.1, 8.2 ou 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ê:
- Instalar a extensão Live Search
- Configurar as chaves de API
- Sincronizar seus dados de catálogo
- Verificar se os dados do catálogo foram exportados
- Configurar os dados
- Testar a conexão
- Verificar se os eventos estão capturando dados
- Personalizar sua loja
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 seguinte comando para desabilitar temporariamente o OpenSearch e os módulos relacionados, e instale o Live Search. Em seguida, prossiga 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 os módulos Live Search que apresentam resultados de 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
Instalar o beta do Live Search
Esta versão beta oferece suporte a três novos recursos na consulta productSearch
:
-
Pesquisa em camadas - Pesquisar em outro contexto de pesquisa - Com esse recurso, você pode realizar até duas camadas de pesquisa para suas consultas de pesquisa. Por exemplo:
- Pesquisa de Camada 1 - Pesquise por "motor" em "product_attribute_1".
- Pesquisa de camada 2 - Pesquise por "part number 123" em "product_attribute_2". Este exemplo procura por "número de peça 123" nos resultados por "motor".
A pesquisa em camadas está disponível para a indexação de pesquisa
startsWith
e a indexação de pesquisacontains
, conforme descrito abaixo: -
startsWith indexação de pesquisa - Pesquisar usando a indexação
startsWith
. Esse novo recurso permite:- Procurando produtos em que o valor do atributo começa com uma string específica.
- Configurar uma pesquisa "termina com" para que os compradores possam pesquisar produtos em que o valor do atributo termina com uma determinada string. Para habilitar uma pesquisa "termina com", o atributo de produto precisa ser assimilado na ordem inversa, e a chamada de API também deve ser uma sequência invertida.
-
contém a indexação de pesquisa -Pesquise um atributo usando a indexação contains. Esse novo recurso permite:
-
Procurando uma consulta em uma cadeia de caracteres maior. Por exemplo, se um comprador procurar o número de produto "PE-123" na cadeia de caracteres "HAPE-123".
- Observação: este tipo de pesquisa é diferente da pesquisa de frase existente, que executa uma pesquisa de preenchimento automático. Por exemplo, se o valor do atributo do seu produto for "calças de ar livre", uma pesquisa de frase retornará uma resposta para "fora da panela", mas não retornará uma resposta para "ou formigas". A contém busca, no entanto, retorna uma resposta para "ou formigas".
-
Essas novas condições aprimoram o mecanismo de filtragem de consultas de pesquisa para refinar os resultados da pesquisa. Essas novas condições não afetam a consulta de pesquisa principal.
Você pode implementar essas novas condições na página de resultados da pesquisa. Por exemplo, você pode adicionar uma nova seção na página, onde o comprador pode refinar ainda mais os resultados da pesquisa. Você pode permitir que os compradores selecionem atributos específicos do produto, como "Fabricante", "Número da peça" e "Descrição". A partir daí, eles pesquisam dentro desses atributos usando as condições contains
ou startsWith
. Consulte o Guia do administrador para obter uma lista de atributos pesquisáveis.
-
Para instalar a versão beta, adicione a seguinte dependência ao seu projeto:
code language-bash composer require magento/module-live-search-search-types:"^1.0.0-beta1"
-
Confirme e envie por push as alterações nos arquivos do
composer.json
e docomposer.lock
para o projeto de nuvem. Saiba mais.Este beta adiciona Search types caixas de seleção para Autocomplete, Contains e Starts with no Administrador. Ela também atualiza a API do GraphQL
productSearch
para incluir esses novos recursos de pesquisa. -
No Administrador, defina um atributo de produto para ser pesquisável e especifique o recurso de pesquisa para esse atributo, como Contém (padrão) ou Começa com. Você pode especificar no máximo seis atributos a serem habilitados para Contém e seis atributos a serem habilitados para Começa com. Para beta, esteja ciente de que o Administrador não impõe essa restrição, mas ela é imposta em pesquisas de API.
-
Consulte a documentação do desenvolvedor para saber como atualizar suas chamadas de API do Live Search usando os novos recursos de pesquisa do
contains
e dostartsWith
.
Descrições dos campos
Autocomplete
Autocomplete
você pode usar contains
no filtro de pesquisa. Aqui, a consulta de pesquisa em contains
retorna uma resposta de pesquisa do tipo preenchimento automático. A Adobe recomenda usar esse tipo de pesquisa para campos de descrição, que normalmente têm mais de 50 caracteres.Contains
contains
no filtro de pesquisa. Consulte as Limitações para obter mais informações.Starts with
startsWith
no filtro de pesquisa.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 Streaming de Atualizações de Produto na documentação de Indexação.
4. Verifique se os dados foram exportados verify-export
Para verificar se os dados do catálogo foram exportados do Adobe Commerce e sincronizados com o Live Search, você tem algumas opções:
-
Procure entradas nas seguintes tabelas:
cde_products_feed
cde_product_attributes_feed
note note NOTE Se você receber um erro table does not exist
, procure entradas nas tabelascatalog_data_exporter_products
ecatalog_data_exporter_product_attributes
. Estes nomes de tabela são usados em Live Search versões anteriores à 4.2.1. -
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 lista de produtos
Quando você instala o Live Search 4.0.0+, os widgets de lista 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 a página da lista de produtos da navegação por categorias. 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+, deverá 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". Essas atribuições de categoria melhoram a 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. Verifique se os eventos estão capturando dados
Verifique se os eventos da loja implantados em seu site estão funcionando. Isso é especialmente importante para implementações headless.
- Revise os eventos necessários para Live Search.
- Verifique se o painel do Live Search está exibindo dados de seu(s) ambiente(s) de não produção.
- Verificar coleção de eventos. Enquanto esta página estiver no guia Product Recommendations, as etapas de verificação também se aplicam a Live Search.
8. Personalize para sua loja
Você instalou a extensão Live Search, sincronizou, validou e configurou seus dados. A próxima etapa é 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 Popover de estilo e widget da 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
O metapackage Composer para instalar a extensão Live Search inclui as seguintes dependências de módulo.
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, as APIs principais do GraphQL do Commerce e do GraphQL Live Search não têm paridade completa.
A Adobe recomenda 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:
A coleta automática de dados de interação do usuário não funciona por padrão quando você não usa os componentes padrão, como o Adaptador de pesquisa, widgets Luma ou Widgets CIF AEM. O Adobe Sensei usa esses dados coletados para um merchandising inteligente e para o rastreamento de desempenho. Para resolver esse problema, é necessário desenvolver uma solução personalizada para implementar essa coleção de dados de forma 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 corresponde a um idioma suportado, o padrão será esse idioma. Caso contrário, o widget usará o inglês como padrão. No Admin, a configuração de idioma é definida navegando até Stores> Settings >Configuration > General> Country Options.
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 código do widget página da lista de produtos e do widget de campo do Live Search está disponível para download no GitHub.
Os desenvolvedores que têm acesso ao código podem personalizar completamente o funcionamento e a aparência. Eles hospedam o código em seus próprios servidores, mas ainda usam 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 não funcionam em vitrines de PWA.
- Ao usar PWA Studio, o GraphQL não oferece suporte à filtragem diretamente em
description
,name
,short_description
, mas esses campos podem ser retornados 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.