DevSecOps

6 nov, 2017

Criando buscas inteligentes com Azure Search —  Introdução

Publicidade

Com a evolução das plataformas e softwares como serviço, podemos disponibilizar mais tempo e foco ao nosso negócio em si, deixando então cada responsabilidade para quem já é especializado no mesmo. Imagine que iremos iniciar um projeto onde teremos como foco a venda de ingressos para eventos específicos, ou seja, teremos que dar a maior atenção em especializar este modelo de serviço, já que é o nosso principal negócio.

Por mais que o nosso negócio em si seja a venda de ingressos para eventos, teremos que oferecer ferramentas como autenticação no website ou aplicativo, algumas ferramentas de backoffice serão necessárias para gerenciar algum processo interno como no setor financeiro ou de atendimento ao consumidor, e com certeza nosso site ou aplicativo irá precisar de algum motor de busca para que os usuários possam utiliza-lo como facilitador em encontrar os seus ingressos desejados, seja por nome, cidade, tipo de evento, etc.

É neste ponto em que o Azure Search irá nos ajudar a integrar a nossa base de dados com um motor de busca que iremos disponibilizar aos nossos usuários. Mas isto é muito simples de se fazer, um simples LIKE no banco de dados resolve este problema, certo? Certo, pode até resolver uma parte do problema, mas devemos lembrar que uma coisa é fazer uma clausula no banco de dados pesquisando por alguns campos, outra coisa é aplicar técnicas específicas para busca e ou pesquisa.

O que é o Azure Search?

O Azure Search é uma solução de pesquisa como serviço na nuvem que oferece aos desenvolvedores APIs e ferramentas para adicionar uma experiência de pesquisa avançada aos dados existentes em aplicativos que oferecem alguma forma de pesquisa.

O Azure Search é exposto por meio de uma API REST ou um SDK do .NET simples que mascara a complexidade inerente da tecnologia de pesquisa. Além das APIs, o portal do Azure fornece suporte de administração e criação de protótipo. A infraestrutura e a disponibilidade são gerenciadas pela Microsoft, ou seja, por mais que seja um serviço muito amigável e fácil de configurar ainda tem tem como principal foco os desenvolvedores e não o usuário final, pois ainda exige um certo nível de conhecimento técnico.

Principais Recursos

  • Pesquisa de texto com suporte a operadores lógicos, operadores de pesquisa de frase, operadores de sufixo, operadores de precedência, pesquisa difusa, pesquisa por proximidade, aumento de termo e expressões regulares.
  • Integração de dados com suporte a SQL Server Azure, Cosmos DB e Armazenamento de Blob.
  • Analisadores léxicos personalizados para consultas de pesquisa complexas usando a correspondência fonética e expressões regulares.
  • Analisadores de idioma disponíveis em 56 idiomas diferentes para tratar com inteligência a linguística específica a um idioma, incluindo tempos verbais, gênero, substantivos plurais irregulares, decomposição de palavras, separação de palavras (para idiomas sem espaços) e muito mais.
  • Pesquisa baseadas em localizações geográficas.
  • Sugestões de pesquisa, mais conhecido por autocomplete, onde as informações são sugeridas à medida que os usuários vão digitando no campo de texto.
  • Navegação facetada ou categorizada que pode ser habilitada por meio de um único parâmetro de consulta. O Azure Search retorna uma estrutura de navegação por categorias, um exemplo básico seria uma divisão de setores em uma busca de e-commerce (Eletrônicos, Eletrodomésticos, Móveis, etc).
  • Filtros, paginação, classificação e realce de ocorrências.
  • Relevância no resultado, por exemplo, retornar os produtos que estejam em promoção ou por ordem de inserção.
  • Monitoramento e emissão de relatórios onde a análise de tráfego de pesquisa é coletada e analisada para revelar novas informações sobre o que os usuários estão digitando na caixa de pesquisa.
  • Infraestrutura altamente disponível e elástica.

Quando você precisar dispor de buscas em seu aplicativo ou website, pense bem antes de querer desenvolver uma ferramenta com este nível de complexidade, a não ser que este seja o seu real negócio. Quando utilizamos o serviço do Azure Search, estamos trazendo junto anos de experiência e profissionais altamente qualificados trabalhando com foco 100% na ferrramenta.

Preço e Cobrança

Como a maioria dos serviços, o Azure Search conta com uma camada Free que por sinal é bastante interessante para fins de testes e exemplos e outras camadas superiores com níveis de serviços mais avançado. Lembrando que o Azure Search não tem custos antecipados, não tem taxa de rescisão e você paga pelo que usa.

Referências