visão geral do Atlas Search
Nesta página
O Atlas Search do MongoDB permite indexação de texto refinada e query de dados em seu cluster Atlas. Ele permite a funcionalidade de pesquisa avançada para seus aplicativos sem nenhum gerenciamento adicional ou sistema de pesquisa separado junto com seu banco de dados. O Atlas Search fornece opções para vários tipos de analisadores de texto, uma linguagem de query avançada que usa estágios do pipeline de agregação Atlas Search $search
como e em conjunto com outros estágio do pipeline de agregação MongoDB e classificação de resultados baseada em pontuação.$searchMeta
Dica
Experimente rapidamente o Atlas Search sem precisar de uma conta, cluster ou coleção do Atlas, com o Atlas Search Playground. Para saber mais, consulte a documentação.
Fundamentos do Atlas Search
Os conceitos a seguir formam a base do Atlas Search e são essenciais para otimizar seu aplicativo.
Indexação
No contexto da pesquisa, um índice é uma estrutura de dados que categoriza os dados em um formato facilmente pesquisável. Os índices de pesquisa permitem a recuperação mais rápida de documentos que contêm um determinado termo, sem a necessidade de examinar toda a coleção. Embora os índices do Atlas Search e os índices do MongoDB tornem a recuperação de dados mais rápida, observe que eles não são os mesmos. Como o índice no final de um livro, um índice de pesquisa é um mapeamento entre os termos e os documentos que contêm esses termos. Os índices de pesquisa também contêm outros metadados relevantes, como as posições dos termos nos documentos.
A criação de pelo menos um índice de pesquisa geralmente é necessária em qualquer aplicativo de pesquisa. Para obter mais informações, consulte Criar e gerenciar índices do Atlas Search.
Tokenização
Ao criar um índice de pesquisa, os dados devem primeiro ser transformados em uma sequência de tokens ou termos. Um analisador facilita esse processo por meio de etapas, incluindo:
Tokenização: Divisão das palavras de uma string em tokens indexáveis. Por exemplo, dividir uma frase com espaços e pontuação.
Normalização: Organizar os dados para que sejam representados de forma consistente e mais fácil de analisar. Por exemplo, transformar o texto em letras minúsculas ou remover palavras indesejadas chamadas palavras de parada.
Stemming: reduzir as palavras à sua forma raiz. Por exemplo, ignorar sufixos, prefixos e formas de palavras no plural.
As particularidades da tokenização são específicas da linguagem e podem exigir a realização de escolhas adicionais. Qual analisador usar depende dos seus dados e aplicativo. Para obter mais informações, consulte Processar dados com analisadores.
Consultando
As queries de pesquisa consultam o índice para retornar um conjunto de resultados. As queries de pesquisa são diferentes das queries de banco de dados tradicionais, pois destinam-se a atender a necessidades de informações mais gerais. Onde uma query de banco de dados deve seguir uma sintaxe estrita, as queries de pesquisa podem ser para correspondência simples de texto, mas também podem procurar frases, números ou intervalos de datas semelhantes, ou usar expressões regulares ou curingas.
Para obter mais informações, consulte Criar e executar consultas de pesquisa do Atlas.
Pontuação
Cada documento recebe uma pontuação de relevância que permite que os resultados da query sejam retornados em ordem, começando com a maior relevância e terminando na menor relevância. Na forma mais simples de pontuação, os documentos pontuam mais alto se o termo de query aparecer com frequência em um documento e mais baixo se o termo de query aparecer em muitos documentos da coleção. A pontuação também pode ser personalizada. Adaptar a pesquisa a um domínio específico geralmente significa personalizar a pontuação padrão baseada em relevância, por meio de aumento, decaimento ou outras opções de modificação.
Para obter mais informações, consulte Documentos de pontuação.
arquitetura do atlas search
O processo mongot
do Atlas Search, desenvolvido no Apache Lucene, interage com o processo de banco de dados mongod
para criar e gerenciar suas queries e índices de pesquisa vetorial e de texto completo.
Sobre o mongot
processo
O processo mongot
executa as seguintes tarefas:
Cria índices de Atlas Search com base nas regras na index definition para a collection.
Monitores fluxos de alterações para o estado atual dos documentos e índices para as coleções para as quais você definiu Atlas Search indexes.
Processa queries do Atlas Search e retorna os IDs dos documentos e outros metadados da pesquisa dos documentos correspondentes ao
mongod
, que então faz uma pesquisa completa do documento e retorna os resultados ao cliente.
Você pode escolher um modelo de implantação em que o processo Atlas Search mongot
seja executado junto com o processo mongod
em cada nó do cluster Atlas ou em que o processo mongot
seja executado em nós de pesquisa separados. Para testar suas consultas de pesquisa e criar protótipos de seu aplicativo, você pode escolher o modelo de implantação padrão em que os processos mongot
e mongod
são executados no mesmo nó. No entanto, para aplicativos prontos para produção, implante mongot
em nós de pesquisa separados para evitar qualquer contenção de recursos entre os processos mongot
e mongod
em seu ambiente de produção.
Para obter orientação sobre como escolher um tipo de implantação para ambientes de pré-produção e produção, consulte Opções de implantação do Atlas Search e Opções de implantaçãodo Atlas Vector Search.