Página inicial do Docs → Iniciar e gerenciar o MongoDB → MongoDB Atlas
Etapa 1: Crie um índice Atlas Search
Importante
Recurso Indisponível em Instâncias sem Servidor
Neste momento, as instâncias sem servidor não permitem essa funcionalidade. Para saber mais, consulte Limitações de instância sem servidor.
O índice do Atlas Search é uma estrutura de dados que categoriza os dados em um formato facilmente pesquisável. É um mapeamento entre os termos e os documentos que contêm esses termos. Os índices do Atlas Search permitem a recuperação mais rápida de documentos usando determinados identificadores. Você deve configurar um índice do Atlas Search para fazer query em dados em seu cluster Atlas usando o Atlas Search.
Você pode criar um índice de Pesquisa do Atlas em um único campo ou em múltiplos campos. Recomendamos que você indexe os campos que usa regularmente para classificar ou filtrar seus dados para recuperar rapidamente os documentos que contêm os dados relevantes em tempo de query.
Você pode criar um índice do Atlas Search usando a UI do Atlas , Atlas Search API, Atlas CLI ou um driver MongoDB compatível na linguagem de sua preferência.
Este tutorial utiliza a collection sample_mflix.movies
a partir de amostras de conjuntos de dados.
UI do Atlas
Navegue até a página do Atlas Search referente ao seu projeto.
Se ainda não estiver exibido, selecione a organização que contém seu projeto desejado no menu Organizations na barra de navegação.
Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.
Clique no nome do seu cluster.
Clique na aba Atlas Search.
Insira o Index Name e defina o Database and Collection.
No campo Index Name, digite
default
.Observação
Se você nomear seu índice como
default
, não precisará especificar um parâmetroindex
ao usar o estágio do pipeline $search. Caso contrário, você deve especificar o nome do índice utilizando o parâmetroindex
.Na seção Database and Collection, localize o banco de dados
sample_mflix
e selecione a coleçãomovies
.
Especifique uma definição de índice.
Você pode criar um índice de pesquisa do Atlas que utiliza mapeamentos dinâmicos ou mapeamentos estáticos. Para saber mais sobre mapeamentos dinâmicos e estáticos, consulte Mapeamentos estáticos e dinâmicos.
A seguinte definição de índice indexa dinamicamente os campos de tipos suportados na collection movies
. Você pode usar o Visual Editor do Atlas Search ou o JSON Editor do Atlas Search na interface de usuário do Atlas para criar o índice.
Editor Visual
Clique em Next.
Revise a definição de índice
"default"
para a collectionmovies
.
Editor JSON
Clique em Next.
Revise a definição do índice.
A definição do seu índice deve ser semelhante a esta:
{ "mappings": { "dynamic": true } } A definição de índice acima indexa dinamicamente os campos de tipos suportados em cada documento na collection
movies
.Clique em Next.
API de pesquisa do Atlas
Copie e cole a solicitação de cURL de amostra no editor de texto de sua preferência.
A seguinte definição de índice indexa dinamicamente os campos de tipos compatíveis na collection movies
.
1 PUBLIC_KEY=MY_PUBLIC_KEY # replace replace with your public key 2 PRIVATE_KEY=MY_PRIVATE_KEY # replace with your private key 3 GROUP_ID=YOUR_GROUP_ID # replace with your project ID 4 CLUSTER_NAME=YOUR_CLUSTER_NAME # replace with your cluster's name 5 6 curl --user "$PUBLIC_KEY:$PRIVATE_KEY" --digest \ 7 --header "Content-Type: application/json" \ 8 --include \ 9 --request POST "https://cloud.mongodb.com/api/atlas/v1.0/groups/$GROUP_ID/clusters/$CLUSTER_NAME/fts/indexes?pretty=true" \ 10 --data '{ 11 "collectionName": "movies", 12 "database": "sample_mflix", 13 "mappings": { 14 "dynamic": true 15 }, 16 "name": "default" 17 }'
Substitua as variáveis em sua solicitação de cURL de amostra.
As solicitações cURL de amostra usam essas variáveis. Substitua essas variáveis com os valores desejados antes de executar o comando cURL para criar um Índice do Atlas Search.
Nome | Tipo | Descrição |
---|---|---|
PUBLIC_KEY | string | Sua chave de API pública para suas credenciais deAPI . |
PRIVATE_KEY | string | Sua chave de API privada para suas credenciais de API. |
GROUP_ID | string | Cadeia de caracteres hexadecimais exclusiva de 24 caracteres que identifica o
projeto que contém o cluster que contém a coleta
para o qual você deseja criar um índice do Atlas Search. |
CLUSTER_NAME | string | Rótulo legível por humanos que identifica o cluster que contém a coleta para a qual você deseja criar um índice do Atlas Search. Use a API para obter o CLUSTER_NAME. Para cada cluster, o Atlas retorna o CLUSTER_NAME no campo nome . |
Atlas CLI
Observação
Você também pode utilizar o Atlas Search com sistemas locais do Atlas que você cria com o Atlas CLI. Para saber mais, consulte Criar uma implantação de Atlas local.
Cria e salva a definição de índice JSON num arquivo.
Copie a seguinte definição de índice de exemplo e cole o índice JSON exemplo em um novo arquivo e salve o arquivo:
A seguinte definição de índice indexa dinamicamente os campos de tipos compatíveis na collection movies
.
1 { 2 "name": "INDEX_NAME", 3 "clusterName": "CLUSTER_NAME", 4 "collectionName": "movies", 5 "database": "sample_mflix", 6 "mappings": { 7 "dynamic": true 8 } 9 }
Copie e modifique a solicitação de amostra do Atlas CLI.
Cole a seguinte solicitação de amostra do Atlas CLI em seu editor de texto favorito e substitua as variáveis.
atlas clusters search index create \ --clusterName CLUSTER_NAME \ --file FILE_PATH \ --projectId PROJECT_ID --profile PROFILE_NAME
As solicitações de amostra do Atlas CLI utilizam estas variáveis. Substitua estas variáveis por seus valores desejados antes de executar o comando para criar um índice de Pesquisa do Atlas.
Nome | Tipo | Descrição |
---|---|---|
PROJECT_ID | string | Cadeia exclusiva de caracteres 24-hexadecimal que identifica o projeto que contém o agrupamento. O agrupamento contém a coleção para a qual você deseja criar um índice de Pesquisa Atlas. |
CLUSTER_NAME | string | Cadeia de caracteres exclusiva de 24 caracteres hexadecimais que identifica
cluster. O agrupamento contém a coleção para a qual você deseja criar um índice de Pesquisa do Atlas. |
FILE_PATH | string | Caminho para o arquivo de índice JSON que você criou e salvou nas etapas anteriores, incluindo a extensão de arquivo .json . |
PROFILE_NAME | string | Opcional. Nome do perfil que define as chaves pública e privada para o projeto. Para obter mais informações, consulte Salvar configurações de conexão . Se você remover o sinalizador --profile , o Atlas CLI utilizará o perfil padrão. |
Execute a solicitação do Atlas CLI modificada no seu terminal para criar o índice do Atlas Search.
Execute a solicitação. Você recebe esta resposta quando o Atlas Search começa a criar o índice:
{ "collectionName": "movies", "database": "sample_mflix", "indexID": <index-id>, "mappings": { "dynamic": true }, "name": <index-name>, "status": "IN_PROGRESS" }
Programaticamente
Você pode criar um Atlas Search index programaticamente usando mongosh
ou um MongoDB Driver compatível em seu idioma preferido.
Pré-requisitos
M10
ou Atlas clusters maioresAs seguintes versões para cada driver:
DriverVersãoDriver .NET/C#2.21 ou posteriorControlador Node.js6.1 ou posterior
➤ Use o menu suspenso Selecione a linguagem para definir a linguagem do exemplo nesta seção.
Procedimento
Próximos passos
Agora que você criou o índice, prossiga para Passo 2: Executar queries no Atlas Search.