visão geral do Atlas Search
Nesta página
O que é o Atlas Search?
O Atlas Search é uma pesquisa de texto completo incorporada que oferece uma experiência perfeita e escalável para criar funcionalidades de aplicativos baseados em relevância e elimina a necessidade de executar um sistema de pesquisa separado junto com seu banco de dados.
Você pode usar o Atlas Search para indexação de texto refinada e query de dados em seu cluster. O Atlas Search fornece vários tipos de analisadores de texto, uma linguagem de query avançada para criar lógica de pesquisa complexa, classificação personalizável de resultados baseada em pontuação e recursos avançados de pesquisa para seus aplicativos, como preenchimento automático, paginação e facet.
Casos de uso
O Atlas Search oferece suporte a diversos casos de uso, incluindo o seguinte:
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 de preenchimento automático do Atlas Search 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 facetada: para permitir que os usuários do seu aplicação restrinjam os resultados da pesquisa por meio do uso de filtros, você pode usar o coletor de faceta do Atlas Search para criar facetas que agrupam resultados por valores ou faixas nos campos facetados. Para mais informações, consulte How to Use Facets with 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 pular páginas. Para saber 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, pois destinam-se a atender a necessidades de informações mais gerais. Quando uma query de banco de dados deve seguir uma sintaxe rigorosa , as querys 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 um agregação pipeline stage. O Atlas Search fornece $search
os estágios e, que podem ser $searchMeta
usados em conjunto com outros estágios de pipeline de agregação em sua pipeline de consulta. A Atlas Search fornece query e collectors que você pode usar dentro desses estágios do pipeline de agregação .
Para saber 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 do Atlas Search em um único campo ou em vários campos usando mapeamentos estáticos. Como alternativa, você pode ativar os mapeamentos dinâmicos para indexar automaticamente todos os campos indexáveis dinamicamente em seus documentos. Você pode criar índices do Atlas Search em dados polimórficos e documentos incorporados ou para casos de uso específicos, como pesquisa conforme o tipo ou pesquisa facetada.
Para saber mais, consulte Gerenciar índices do Atlas Search.
O que são analisadores e tokens de pesquisa?
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 especificidades da tokenização são específicas do idioma e podem exigir a realização de opções adicionais. Qual analisador usar depende dos seus dados e aplicação.
O Atlas Search fornece alguns analisadores integrados. Você também pode criar seu próprio analisador personalizado. Você pode especificar analisadores alternativos usando vários analisador.
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 da maior relevância para a menor. Na forma mais simples de pontuação, os documentos têm uma pontuação mais alta se o termo aparecer com frequência em um documento e mais baixa se o termo aparecer em muitos documentos da collection. A pontuação também pode ser personalizada. Personalizar a pesquisa para um domínio específico geralmente significa personalizar a pontuação padrão baseada em relevância aumentando, decaindo ou modificando-a de outras maneiras.
Para saber mais, consulte Documentos de pontuação.
Próximos passos
Para obter 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 Atlas Search Quick Start.