EventoObtenha 50% de desconto no seu ingresso para MongoDB.local Londres em outubro 2. Use o código WEB50Saiba mais >>
Desenvolvedor MongoDB
Central de desenvolvedor do MongoDBchevron-right
Produtoschevron-right
Atlaschevron-right

Explorando recursos de pesquisa com o Atlas Search

Aasawari Sahasrabuddhe9 min read • Published Jul 30, 2024 • Updated Aug 20, 2024
SpringAtlasJava
APLICATIVO COMPLETO
Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Tutorial
star-empty
star-empty
star-empty
star-empty
star-empty
Bem-vindo à segunda parte de nossa série sobre como aproveitar o MongoDB Atlas Search com o Spring Boot. Na Parte 1, aprenderam como criar índices do Atlas Search usando vários métodos: o MongoDB CLI, a UI do Atlas e programaticamente dentro de um aplicativo Spring Boot. Exploramos as etapas fundamentais necessárias para configurar esses índices, fornecendo uma base sólida para implementar recursos avançados de pesquisa.
Nesta parte, vamos construir sobre essa base, mergulhando mais fundo na aplicação prática desses índices. Este artigo se concentrará na criação e execução de consultas de pesquisa usando o Spring Boot, ilustrando como aproveitar todo o potencial do Atlas Search em seus aplicativos.
Também explicaremos os principais conceitos e terminologias associados ao Atlas Search, garantindo que você tenha uma compreensão abrangente de como ele funciona.
Quer você seja um desenvolvedor habilidoso ou novo no MongoDB e no Spring Boot, esta série tem como objetivo fornecer-lhe o conhecimento e as ferramentas necessárias para implementar uma funcionalidade de pesquisa eficiente e eficaz em seus aplicativos.

Pré-requisitos

  1. Um Atlas cluster dedicado para criar índices programaticamente
  2. Versão Java 22
  3. Dados de amostra carregados no seu cluster do Atlas

Consultando com índices de pesquisa do Atlas

Antes de escrevermos queries de pesquisa usando os índices que criamos, recomendamos que você se familiarize com os conceitos fundamentais do MongoDB Atlas Search. Um ótimo recurso para fazer isso é a parte 1 da série "Getting Started with MongoDB Atlas Search and Java".
Este tutorial fornecerá a você uma compreensão dos princípios chaves por trás do Atlas Search e demonstrará como criar diferentes tipos de índices personalizados para vários casos de uso. Ao obter esse conhecimento básico, você estará mais bem equipado para implementar e aproveitar com eficácia as funcionalidades de pesquisa em seus aplicativos Spring Boot.
Em cada uma das seções abaixo, abordaremos a terminologia e entenderemos exemplos da vida real em que os índices seriam úteis.
As queries de pesquisa mencionadas serão usadas na coleção defilmes do banco de dados sample_mflix

Caso 1: definindo propriedades dinâmicas como verdadeiras

Se você tiver um aplicativo em que o esquema muda com frequência, a configuração da propriedade dinâmica como true criará automaticamente os índices nos campos de tipo de dados suportados . Por exemplo, o testIndex01 tem o mapeamento dinâmico para true, que indexa todos os campos com tipos de dados compatíveis .
A função abaixo usa testIndex01 para consultar todos os campos do índice de string.
Usando a função acima, você pode encontrar filmes que mencionam a palavra- chave mencionada na _query _on nos campos title , plot e fullplot definidos no caminho. _por exemplo...
...dará todos os filmes com a palavra-chave "cartoon ", conforme mostrado abaixo:

Caso 2: Usando analyzers em índices de pesquisa

Nesse caso, utilizaremos o testIndex02 criado com o mapeamento de campo. Mapeamento de campo significa que o mapeamento estático foi usado e nem todos os campos são índices. Somente os campos mencionados são indexados.
Em nosso caso, o campo _genre _foi indexado e pode ser usado com o método abaixo:
Por exemplo, se você quiser listar todos os filmes cujo gênero é ação, pode fazer a chamada REST como:
Isso dará o resultado como:

Caso 3: Usando facets para categorizar os dados

A partir do exemplo acima, usaremos as facetas usadas pelo métodosearchMoviesAndCategorize para realizar uma pesquisa por gêneros e categorizar os dados com base nos gêneros. Mais tarde, o testIndex02 também tem numberFacet criado no campoano, que agrupará todos os filmes lançados a cada 10 anos e retornará a contagem de todos os filmes.
Por exemplo, quando você usa a chamada de API abaixo, ela categoriza primeiro os dados com base nos gêneros e depois categoriza o número de filmes lançados a cada 10 anos até o momento.
Isso dará o resultado como:

Caso 4: pesquisar texto com ortografia incompleta

O recursode preenchimento automático ajuda você a pesquisar usando palavras-chave que estão escritas de forma incompleta. Esse recurso é útil quando um usuário deseja procurar um livro com um nome incompleto no site de comércio eletrônico. Neste caso, usaremos o testIndex03 e procuraremos filmes em que foram mencionadas palavras-chave incompletas para os camposfullplot.
A função de pesquisa pode ser escrita como:
Por exemplo, se o campofullplot mencionar Spa e Cow como palavras-chave incompletas para testar Espanha, Espaço, cowboys etc., você poderá pesquisar usando a seguinte API.
Ele dará uma resposta como:

Caso 5: pesquisa com ortografia incorreta

Às vezes, pesquisamos itens/produtos em sites usando a grafia errada devido à correção automática ou ao desconhecimento da grafia correta, mas o aplicativo ainda nos fornece os resultados corretos. Isso é possível devido ao recurso de pesquisa difusa.
O Atlas Search do MongoDB também permite que você pesquise o texto com a ortografia incorreta.
O testIndex03 criado na parte anterior da série será usado aqui na função abaixo:
Nesse caso, você pode pesquisar o filme com um título escrito incorretamente, e o nome correto do filme aparecerá nos resultados.
Por exemplo, se você pesquisar o filme com a chamada REST abaixo...
... quando a palavra Dinosour for escrita erroneamente como Dinosor, ela fornecerá os resultados como :

Caso 6: Pesquisar com palavras-chave sinônimos

Semelhante ao caso mencionado acima, o MongoDB Atlas Search também permite a pesquisa com palavras-chave sinônimas, ou seja, palavras que têm o mesmo significado ou quase o mesmo significado.
Para explorar este recurso, utilizamos o testIndex04 para escrever a query de pesquisa.
Quando criamos o índice de pesquisa, especificamos a coleção como Coleção de origem dos sinônimos, de onde os sinônimos serão mapeados. O testIndex04 menciona o nome da collection como test_synonyms, que é a collection de origem.
A query de pesquisa é escrita como:
O $meta usado na query com searchScore determinará a proximidade do documento da palavra-chave pesquisada. Antes de fazermos o restante da chamada para testar a query, precisamos criar o mapeamento para os sinônimos em uma collection diferente.
Insira os dados abaixo na coleção test_synonyms.
Para testar a query acima, você pode usar a chamada REST como:
Isso fornecerá resultados com base no mapeamento criado, conforme mostrado abaixo.
O código completo para o aplicativo usando todos os casos mencionados acima está disponível no repositório do GitHub.

Limpar os índices

Depois de utilizar todos os índices criados, você pode usar o método abaixo para excluir todos os índices de pesquisa que foram criados por meio do aplicativo.
E chame a API com o comando abaixo

Conclusão

Nesta segunda parte de nossa série sobre como explorar o MongoDB Atlas Search com o Spring Boot, analisamos as aplicações práticas dos índices de pesquisa que criamos na Parte 1. Ao demonstrar vários cenários de pesquisa, destacamos a versatilidade e o poder do Atlas Search em lidar com diferentes tipos de consultas e estruturas de dados.
Nesta parte, abordamos alguns casos de uso como autocompletar, fuzzy, mapeamento de campo etc. Se quiser saber mais sobre outros casos, também temos outros artigos - MongoDB Atlas Search Using the Java Driver and Spring Data e How to Build a Search Service in Java - nos quais você pode explorar mais casos de uso.
Se você tiver dúvidas ou sugestões, fique à vontade para entrar em contato no MongoDB Community e também para explorar mais tutoriais interessantes por meio do nosso MongoDB Developer Center.
Principais comentários nos fóruns
Ainda não há comentários sobre este artigo.
Iniciar a conversa

Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Tutorial
star-empty
star-empty
star-empty
star-empty
star-empty
{Parte de uma série
Atlas Search com inicialização de primavera
Próximo
Continuar

Mais nesta série
Relacionado
Tutorial

Como enviar alterações de documentos do MongoDB para um canal do Slack


Oct 26, 2023 | 6 min read
Tutorial

Aplicativo agente Sentiment Chef com Google Cloud e MongoDB Atlas


Jun 24, 2024 | 16 min read
Tutorial

Introdução ao MongoDB e C


Mar 24, 2023 | 12 min read
Tutorial

Impressione-se: sinônimos no Atlas Search


Feb 27, 2023 | 9 min read
Sumário