visão geral do Atlas Search
O que é o Atlas Search?
O Atlas Search é uma pesquisa full-text incorporada que oferece uma experiência perfeita e dimensionável para criar funcionalidades de aplicativos baseados em relevância e elimina a necessidade de executar um sistema de pesquisa separado em conjunto com seu banco de dados.
Você pode usar o Atlas Search para indexação de texto refinada e consulta de dados em seu cluster. O Atlas Search oferece vários tipos de analisadores de texto, uma rica linguagem de query para criar lógica de pesquisa complexa, classificação de resultados personalizável baseada em pontuação e recursos avançados de pesquisa para seus aplicativos, como preenchimento automático, paginação e facetas.
Casos de uso
O Atlas Search oferece suporte a diversos casos de uso, incluindo os seguintes:
Pesquisa conforme o tipo: para prever palavras com precisão crescente à medida que os usuários inserem caracteres no campo de pesquisa do seu aplicativo , você pode usar o operador Atlas Search
autocomplete
para prever e retornar resultados para palavras parciais. Para mais informações, consulte Como Executar Consultas de Atlas Search de Preenchimento Automático e Correspondência Parcial.Pesquisa de facetas: para permitir que os usuários do seu aplicativo restrinjam os resultados da pesquisa por meio do uso de filtros, você pode usar o coletor de facetas do Atlas Search para criar facetas que agrupam os resultados por valores ou faixas nos campos facetados. Para aprender mais consulte Como usar facetas com o Atlas Search.
Resultados Paginados: Para agrupar páginas de resultados e implementar funções como "Próxima Página" e "Página Anterior", você pode usar o Atlas Search
searchSequenceToken
com as opçõessearchAfter
esearchBefore
para percorrer as páginas em ordem e saltar entre elas. Para aprender mais, consulte Como paginar os resultados.
Conceitos chave
Os conceitos a seguir formam a base do Atlas Search e são essenciais para otimizar seu aplicativo.
O que são queries de pesquisa?
As queries de pesquisa consultam um índice de pesquisa para retornar um conjunto de resultados. As queries de pesquisa são diferentes das queries de banco de dados tradicionais, porque se destinam a atender a necessidades de informações mais gerais. Quando uma query de banco de dados tiver que seguir uma sintaxe estrita, as queries de pesquisa podem ser usadas 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.
As queries do Atlas Search assumem a forma de uma fase do pipeline de agregação. O Atlas Search fornece estágios $search
e $searchMeta
, que podem ser usados em conjunto com outros estágios do pipeline de agregação em seu pipeline de query. O Atlas Search fornece operadores e coletores de query que você pode usar dentro desses estágios de pipeline de agregação.
Para aprender mais, consulte Queries e índices.
O que é um índice de pesquisa?
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.
Você pode criar um índice de pesquisa do Atlas Search em um único campo ou em vários campos utilizando mapeamentos estáticos. Como alternativa, você pode habilitar mapeamentos dinâmicos para indexar automaticamente todos os campos que podem ser indexados dinamicamente em seus documentos. Você pode criar índices de pesquisa Atlas em dados polimórficos e documentos incorporados, ou para casos de uso específicos, como pesquisar enquanto digita ou pesquisa de facetas.
Para aprender mais, veja Gerenciar índices de pesquisa do Atlas.
O que são analisadores de pesquisa e tokens?
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.
O Atlas Search fornece alguns analisadores integrados. Você também pode criar seu próprio analisador personalizado. Você pode especificar analisadores alternativos usando o analisador múltiplo.
Para saber mais, consulte Como processar dados com analisadores.
O que é uma pontuação de pesquisa?
Cada documento nos resultados da query 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 aprender mais, consulte Documentos de pontuação.
Próximos passos
Para ter uma experiência prática na criação de índices do Atlas Search e na execução de queries do Atlas Search em dados de amostra, experimente o Início rápido do Atlas Search.