Elastic Search: Crie uma experiência de busca semântica

Visão geral


Integre seus dados

Crie uma conta do Elastic Cloud

Comece com uma avaliação de 14 dias. Depois de ir para cloud.elastic.co e criar uma conta, siga as etapas abaixo para saber como executar sua primeira solução Elastic Stack em qualquer uma das mais de 50 regiões compatíveis globalmente.

Se você clicar em Edit settings (Editar configurações), poderá escolher um provedor de serviços em nuvem, incluindo AWS, Microsoft Azure ou Google Cloud. Depois de selecionar o provedor de serviços em nuvem, você poderá selecionar a região relevante. Em seguida, poderá escolher dentre alguns diferentes perfis de hardware para personalizar melhor a implantação de acordo com o que precisa. Além disso, a última versão do Elastic terá sido selecionada previamente para você.

Quando a sua implantação estiver sendo criada, você receberá um nome de usuário e uma senha. Lembre-se de copiar ou baixar esses dados, pois eles serão necessários quando você instalar suas integrações.

Faça a ingestão dos dados com o rastreador da web da Elastic

Agora que você criou sua implantação, é hora de colocar dados no Elastic. Vamos fazer isso usando o rastreador da web da Elastic. Primeiro, selecione o bloco Build a semantic search experience (Criar uma experiência de busca semântica).

A seguir, para configurar a busca semântica, você verá uma página onde poderá começar com uma destas opções:

  • Elastic Learned Sparse Encoder
  • Busca vetorial
  • Enriquecimento de PLN

Todas essas funcionalidades e muitas outras fazem parte do Elasticsearch Relevance Engine (ESRE).

Para os fins deste guia, vamos mostrar como configurar a busca semântica com o Elastic Learned Sparse Encoder e a busca vetorial.

OBSERVAÇÃO: se você está começando a trabalhar com busca semântica e quer fazer buscas de texto, sugerimos primeiro a leitura do guia do Elastic Learned Sparse Encoder. O guia de busca vetorial kNN pode ser mais adequado para usuários que atendam a alguns destes critérios:

  • Têm acesso a um conjunto de habilidades de ciência de dados
  • Determinaram que o modelo de busca semântica Elastic Learned Sparse Encoder integrado não cobrirá seus casos de uso
  • Têm experiência em comparar modelos de embedding e potencialmente ajustar modelos de ML
  • Estão cientes de que a busca de kNN rápida pode exigir recursos de RAM significativos

Se você está com tudo pronto para começar, selecione seu método preferido para criar uma aplicação baseada em busca com IA.

Para ambos os métodos, você começará selecionando Create an index (Criar um índice). Aqui você pode selecionar o web crawler (rastreador da web) para começar a fazer a ingestão dos seus dados.

Para configurar o rastreador da web, confira este tour guiado ou siga as instruções abaixo:

Agora crie um índice. Para os fins deste guia, estamos fazendo a ingestão de todos os blogs do site elastic.co.

Web crawler search index

Depois de dar um nome ao seu índice, selecione Create index (Criar índice). Em seguida, valide o domínio (Validate Domain) e depois selecione Add domain (Adicionar domínio).

Depois de adicionar o domínio no canto inferior direito, selecione Edit (Editar) para poder adicionar um subdomínio, se necessário.

Add a domain to your indexEm seguida, selecione Crawl rules (Regras de rastreamento) e adicione suas regras de rastreamento conforme mostrado abaixo.*

Manage domains

*Como a página que você quer rastrear terá páginas vinculadas, você deve adicionar outras regras para não dar permissão a esses links e a qualquer outro.

 

Além disso, quando você seleciona seu campo posteriormente, alguns campos excedem a contagem de 512 tokens, como body_content. Você deve aproveitar as regras de extração para filtrar apenas as partes relevantes dos blogs.

Ao selecionar Extraction rules (Regras de extração), clique em Add content extraction rule (Adicionar regra de extração de conteúdo).

Em seguida, em Rule description (Descrição da regra), atribua um nome que ajude outras pessoas a entender quais dados a regra extrairá. Para os fins deste guia, vamos chamá-la de “main” (principal).

Agora selecione Apply to all URLs (Aplicar a todos os URLs) e depois Add content fields (Adicionar campos de conteúdo). Um menu aparecerá. Preencha e selecione os critérios abaixo quando o menu aparecer.

  • Document field (Campo do documento):
    • Field name (Nome do campo): main
  • Source (Origem):
    • Extract content from (Extrair conteúdo de): HTML element (Elemento HTML)
    • CSS selector or XPath expression (Seletor de CSS ou expressão XPath): main
  • Content (Conteúdo)
    • Use content from (Usar conteúdo de): Extracted Value (Valor extraído)
    • Store extracted content as (Armazenar o conteúdo extraído como): A string (Uma string)

Depois de preencher esses critérios, clique em Save (Salvar) e depois em Save rule (Salvar regra).


Como trabalhar com o Elasticsearch e o ESRE

Faça a ingestão e busque em seus dados usando o Elastic Learned Sparse Encoder

Se você leu os critérios recomendados acima para começar a trabalhar com a busca vetorial e esse é o seu método preferido, navegue até Search your data using kNN vector search (Fazer buscas em seus dados usando a busca vetorial kNN) à esquerda e siga as instruções.

Caso contrário, se preferir usar o Elastic Learned Sparse Encoder, o modelo de busca semântica pronto para uso da Elastic, confira as instruções abaixo.

Para fazer isso, selecione Pipelines e Unlock your custom pipelines (Desbloquear seus pipelines customizados) selecionando Copy and customize (Copiar e customizar) na parte superior. Em seguida, em Machine Learning Inference Pipelines (Pipelines de inferência com machine learning), selecione Deploy (Implantar) para baixar o modelo e instalá-lo na sua implantação do Elasticsearch.

Após a implantação, selecione Start single-threaded (Iniciar com thread único) e depois + Add inference Pipeline (+ Adicionar pipeline de inferência). Em seguida, faça o seguinte:

  1. Selecione um pipeline novo ou existente
  2. Dê um nome a ele
  3. Por fim, no menu suspenso Select trained ML Model (Selecione o modelo de ML treinado), selecione ELSER Text Expansion (Expansão de texto com ELSER) e clique em Continue (Continuar).

Agora, você precisará selecionar os campos onde aplicará a expansão de texto com ELSER. Selecione “title” (título) e “main” (principal) como campos de origem e depois Add (Adicionar).

Clique em Continue (Continuar).

Pule a etapa Test your pipeline results (Teste os resultados do pipeline) clicando em Continue (Continuar) e depois em Create pipeline (Criar pipeline).

Agora que você criou seu pipeline, selecione Crawl (Rastrear) no canto superior direito e depois Crawl all domains on this index (Rastrear todos os domínios deste índice).

Agora é hora de buscar as informações que você está procurando. Existem duas maneiras recomendadas de fazer isso:

  • Usar as ferramentas de desenvolvimento
  • Aproveitar a funcionalidade aplicação de busca como um endpoint para sua aplicação

Quando usar cada um:

  • Se você é um desenvolvedor que está implementando a busca (ou seja, para sua aplicação web), você deve usar as ferramentas de desenvolvimento para testar e refinar os resultados da busca dos seus dados indexados.
  • Se quiser criar um endpoint de busca no qual você possa enviar solicitações de busca da sua própria aplicação e retornar resultados, você deverá usar a funcionalidade aplicação de busca.

Assista a estes dois breves vídeos para ver como aproveitar as ferramentas de desenvolvimento e a funcionalidade aplicação de busca. Você também pode aprender explorando este tour guiado.


Próximas etapas

Agradecemos o tempo dedicado à configuração da busca semântica para seus dados com o Elastic Cloud. Ao iniciar sua jornada com o Elastic, entenda alguns componentes operacionais, de segurança e de dados que você deve gerenciar como usuário ao fazer a implantação no seu ambiente.