Esse cenário de exemplo mostra como o uso de um serviço de pesquisa dedicado pode aumentar drasticamente a relevância dos resultados da pesquisa para seus clientes de comércio eletrônico.
Arquitetura
Baixe um Arquivo Visio dessa arquitetura.
Fluxo de trabalho
Este cenário aborda uma solução de comércio eletrônico em que os clientes podem pesquisar em um catálogo de produtos.
- Os clientes navegam até o aplicativo Web de comércio eletrônico por meio de qualquer dispositivo.
- O catálogo de produtos é mantido em um Banco de Dados SQL do Azure para processamento transacional.
- O Cognitive Search usa um indexador de pesquisa para manter seu índice de pesquisa atualizado automaticamente por meio do controle de alterações integrado.
- As consultas de pesquisa do cliente são descarregadas para o serviço Cognitive Search, que processa a consulta e retorna os resultados mais relevantes.
- Como alternativa a uma experiência de pesquisa baseada na Web, os clientes também podem usar um bot de conversa em mídias sociais ou diretamente de assistentes digitais para pesquisar produtos e refinar a consulta de pesquisa e os resultados de forma incremental.
- Opcionalmente, o recurso de conjunto de habilidades pode ser usado para aplicar inteligência artificial e tornar o processamento ainda mais inteligente.
Componentes
- Os Serviços de Aplicativos - Aplicativos Web hospedam os aplicativos Web, permitindo o dimensionamento automático e alta disponibilidade sem a necessidade de gerenciar a infraestrutura.
- O Banco de Dados SQL é um serviço gerenciado de banco de dados relacional de uso geral no Microsoft Azure que dá suporte a estruturas como XML, JSON, espacial e dados relacionais.
- O Azure Cognitive Search é uma solução de pesquisa como serviço na nuvem que oferece uma experiência de pesquisa avançada para conteúdo privado e heterogêneo em aplicativos Web, móveis e empresariais.
- O Serviço de Bot fornece ferramentas para compilar, testar, implantar e gerenciar bots inteligentes.
- Os Serviços Cognitivos permitem usar algoritmos inteligentes para ver, ouvir, falar, entender e interpretar as necessidades do usuário por meio de métodos naturais de comunicação.
Alternativas
- Você pode usar recursos de pesquisa no banco de dados, por exemplo, por meio da pesquisa de texto completo do SQL Server. Porém, nesse caso, o repositório transacional também processa consultas (aumentando a necessidade de capacidade de processamento) e os recursos de pesquisa no banco de dados são mais limitados.
- Você pode hospedar o Apache Lucene de software livre (no qual o Cognitive Search foi criado) no Azure Máquinas Virtuais, mas, em seguida, você está de volta ao gerenciamento de IaaS (Infraestrutura como Serviço) e não se beneficia dos muitos recursos que o Cognitive Search fornece sobre o Lucene.
- Você também pode considerar a implantação do Elasticsearch do Azure Marketplace, que é um produto de pesquisa alternativo e capaz de um fornecedor de terceiros, mas também neste caso você está executando uma carga de trabalho de IaaS.
Outras opções para a camada de dados incluem:
- Azure Cosmos DB – banco de dados multi-modelo distribuído globalmente da Microsoft. O Azure Cosmos DB fornece uma plataforma para executar outros modelos de dados, como MongoDB, Cassandra, dados do Graph ou armazenamento de tabelas simples. O Cognitive Search também dá suporte à indexação dos dados do Azure Cosmos DB diretamente.
Detalhes do cenário
A pesquisa é o principal mecanismo por meio do qual os clientes encontram e, por fim, compram produtos, tornando essencial que os resultados da pesquisa sejam relevantes para a intenção da consulta de pesquisa e que a experiência de pesquisa de ponta a ponta corresponda à dos gigantes de pesquisa, fornecendo resultados quase instantâneos, análise linguística, correspondência de localização geográfica, filtragem, faceta, preenchimento automático, realce de cliques e assim por diante.
Imagine um aplicativo Web de comércio eletrônico típico, com dados de produtos armazenados em um banco de dados relacional como o SQL Server ou o Banco de Dados SQL do Azure. As consultas de pesquisa geralmente são tratadas dentro do banco de dados usando LIKE
consultas ou recursos de Pesquisa de Texto Completo . Usando o Azure Cognitive Search em vez disso, você libera seu banco de dados operacional do processamento de consultas e pode facilmente começar a tirar proveito de recursos de implementação difícil que fornecem aos clientes a melhor experiência de pesquisa possível. Além disso, como o Cognitive Search é um componente de PaaS (plataforma como serviço), você não precisa se preocupar em gerenciar a infraestrutura ou se tornar um especialista em pesquisa.
Possíveis casos de uso
Esta solução é otimizada para o setor de varejo.
Outros casos de uso relevantes incluem:
- Localizando listagens de imóveis ou lojas próximas à localização física do usuário (para as instalações e o setor imobiliário).
- Pesquisando artigos em um site de notícias ou procurando resultados esportivos, com maior preferência por informações mais recentes (para os setores de esportes, mídia e entretenimento).
- Pesquisando grandes repositórios em busca de organizações centradas em documentos , como criadores de políticas e cartórios.
Em última análise, qualquer aplicativo que tenha alguma funcionalidade de pesquisa poderá se beneficiar de um serviço de pesquisa dedicado.
Considerações
Essas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios de orientação que podem ser usados para aprimorar a qualidade de uma carga de trabalho. Para obter mais informações, confira Microsoft Azure Well-Architected Framework.
Escalabilidade
A camada de preço do serviço do Azure Cognitive Search é usado principalmente para planejamento de capacidade, pois define o armazenamento máximo que você obtém e quantas partições e réplicas pode provisionar. Partições permitem que você indexe mais documentos e obtenha taxas de transferência de gravação mais altas, enquanto réplicas fornecem mais QPS (Consultas por Segundo) e Alta Disponibilidade.
Você pode alterar dinamicamente o número de partições e réplicas, mas não é possível alterar a camada de preço. Portanto, você deve considerar cuidadosamente a camada certa para sua carga de trabalho de destino. Se você precisar alterar a camada de qualquer maneira, precisará provisionar um novo serviço lado a lado e recarregar seus índices lá, momento em que você pode apontar seus aplicativos para o novo serviço.
Disponibilidade
O Cognitive Search fornece um SLA de 99,9% de disponibilidade para leituras (ou seja, consultas) se você tem pelo menos duas réplicas e para atualizações(ou seja, atualização dos índices de pesquisa) se você tem pelo menos três réplicas. Portanto, você deverá provisionar pelo menos duas réplicas se quiser que seus clientes possam pesquisar de maneira confiável e três se alterações reais no índice também precisarem ser consideradas operações de alta disponibilidade.
Se houver a necessidade de fazer alterações interruptivas no índice sem tempo de inatividade (por exemplo, alterar tipos de dados, excluir ou renomear campos), o índice precisará ser recriado. Assim como ocorre com a alteração da camada de serviço, isso significa criar um novo índice, populá-lo novamente com os dados e atualizando seus aplicativos para apontar para o novo índice.
Segurança
O Cognitive Search está em conformidade com muitas normas de privacidade de dados e segurança, o que permite que seja usado na maioria dos setores.
Para proteger o acesso ao serviço, o Cognitive Search usa dois tipos de chaves: chaves de administração, que permitem que você execute qualquer tarefa em relação ao serviço, e chaves de consulta, que só podem ser usadas para operações somente leitura, como consultas. Normalmente, o aplicativo que executa a pesquisa não atualiza o índice, portanto, ele só deve ser configurado com uma chave de consulta e não uma chave de administrador (especialmente se a pesquisa for executada de um dispositivo de usuário final, como script em execução em um navegador da Web).
Relevância de pesquisa
O êxito de seu aplicativo de comércio eletrônico depende em grande parte da relevância dos resultados da pesquisa para seus clientes. Ajuste cuidadosamente o serviço de pesquisa para fornecer resultados ideais com base na pesquisa de usuário ou recorra a recursos internos, como análise de tráfego de pesquisa, para entender os padrões de pesquisa do cliente e tomar decisões com base nos dados.
Maneiras comuns de ajustar o serviço de pesquisa:
- Usar perfis de pontuação para influenciar a relevância dos resultados da pesquisa, por exemplo, com base em qual campo corresponde à consulta, até que ponto os dados são recentes, a distância geográfica até o usuário etc.
- Usar analisadores de idioma fornecidos pela Microsoft, que usam uma pilha de NLP (Processamento de Linguagem Natural) avançada para interpretar melhor as consultas
- Usar analisadores personalizados garantir que seus produtos sejam encontrados corretamente, sobretudo se você deseja pesquisar informações não baseadas em linguagem, como marca e modelo de um produto.
Otimização de custo
A otimização de custos é a análise de maneiras de reduzir as despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, confira Visão geral do pilar de otimização de custo.
Para explorar o custo de executar esse cenário, todos os serviços mencionados acima são pré-configurados na calculadora de custos. Para ver como o preço seria alterado para o seu uso específico, altere as variáveis apropriadas para que sejam correspondentes ao uso esperado.
Fornecemos três perfis de custo de exemplo com base na quantidade de tráfego que você espera lidar:
- Pequeno: neste perfil, usamos um único aplicativo Web
Standard S1
para hospedar o site, a camada gratuita do serviço de Bot do Azure, um único serviço de pesquisaBasic
e um Banco de Dados SQLStandard S2
. - Médio: aqui estamos escalando verticalmente o Aplicativo Web para duas instâncias da
Standard S3
camada, atualizando o serviço de pesquisa para umaStandard S1
camada e usando umStandard S6
Banco de Dados SQL. - Grande: no maior perfil, usamos quatro instâncias de um
Premium P2V2
Aplicativo Web, atualizamos o serviço bot do Azure para aStandard S1
camada (com 1.000.000 mensagens em canais Premium), usamos duas unidades doStandard S3
serviço de pesquisa e umPremium P6
Banco de Dados SQL.
Implantar este cenário
Para implantar uma versão desse cenário, é possível seguir este tutorial passo a passo que fornece um aplicativo de exemplo .NET que executa um site de pesquisa de trabalho. Ele demonstra a maioria dos recursos do Azure Cognitive Search discutidos até agora.
Colaboradores
Esse artigo é mantido pela Microsoft. Ele foi escrito originalmente pelos colaboradores a seguir.
Autor principal:
- Jelle Druyts | Engenheiro de cliente principal
Próximas etapas
Para saber mais sobre Azure Cognitive Search, visite o centro de documentação, marcar os exemplos ou veja um site de demonstração completo em ação.
Para saber mais sobre outros componentes do Azure, confira estes recursos:
- O que é o Banco de Dados SQL do Azure?
- Visão geral do Serviço de Aplicativo
- Documentação do Serviço de Bot do Azure
- O que são os Serviços Cognitivos do Azure?