Menu Docs
Página inicial do Docs
/
MongoDB Atlas
/ /

Ver um índice de pesquisa do Atlas.

Nesta página

  • Acesso necessário
  • Ver um índice de pesquisa do Atlas.

Importante

Se você utilizar o estágio de agregação $out para modificar uma coleção com um índice de Atlas Search, você deverá excluir e recriar o índice de pesquisa. Se possível, considere usar $merge em vez de $out.

Você pode visualizar uma definição de índice de pesquisa do Atlas Search na página Index Overview . Para cada índice, a página Index Overview mostra o seguinte:

  • Namespace para o índice.

  • Analisadores de índice e pesquisa especificados na definição de índice.

  • Mapeamento dinâmico ou estático .

  • Mapeamentos de campo na definição do índice, se houver, incluindo nome do campo, tipo de dados e se o mapeamento dinâmico está habilitado para o campo individual.

Esta página descreve como visualizar sua definição de índice na página Index Overview . Você também pode Editar um Atlas Search Index com o editor visual ou JSON na página Index Overview .

A tabela a seguir mostra os modos de acesso que cada papel suporta.

Função
em ação
UI do Atlas
API do Atlas
API de pesquisa do Atlas
Atlas CLI
Para visualizar analisadores e índices do Atlas Search.
Project Data Access Admin ou role superior
Para criar e gerenciar analisadores e índices do Atlas Search e atribuir a função à sua chave de API.
Para criar entradas de lista de acesso para sua Chave de API e enviar a solicitação de um cliente que aparece na lista de acesso para sua Chave de API.
Para criar, visualizar, editar e excluir índices do Atlas Search usando a UI ou API do Atlas.

Você pode recuperar seus índices do Atlas Search na UI do Atlas ou programaticamente usando o mongosh, o Atlas CLI, a API ou um driver MongoDB compatível na linguagem de sua preferência.

Observação

Você não pode usar o command mongosh ou os driver helper methods para recuperar índices do Atlas Search em M0, M2 ou M5 clusters do Atlas. Para criar e gerenciar índices do Atlas Search usando mongosh ou o driver, atualize para uma camada de cluster dedicada.

Você deve ter pelo menos o papel do readAnyDatabase ou acesso do read ao banco de dados que contém os índices. Para saber mais, consulte Funções embutidas ou Privilégios específicos.


➤ Use o menu suspenso Selecione a linguagem para definir a linguagem do exemplo nesta seção.


Para recuperar um índice do Atlas Search por meio da API:

1

Envie uma solicitação GET com o ID exclusivo ou o nome do índice do Atlas Search que você deseja recuperar para o endpoint search/indexes/ .

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Accept: application/json" \
--include \
--request GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes/{indexId}"

Para saber mais sobre a sintaxe e os parâmetros de qualquer endpoint, consulte Obter um por nome e Obter um por ID.

2

Para recuperar todos os índices do Atlas Search para uma coleção:

1

Envie uma solicitação GET para o endpoint search/indexes/ com o nome da collection cujos índices você deseja recuperar.

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Accept: application/json" \
--include \
--request GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes/{databaseName}/{collectionName}"
2

Para recuperar todos os índices do Atlas Search para um cluster:

1

Envie uma solicitação GET para o endpoint search/indexes/ com o nome do cluster cujos índices você deseja recuperar.

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Accept: application/json" \
--include \
--request GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes"
2

Para listar todos os índices de pesquisa para um cluster utilizando o Atlas CLI, execute o seguinte comando:

atlas clusters search indexes list [options]

Para retornar os detalhes do índice de pesquisa que você especificar utilizando o Atlas CLI, execute o seguinte comando:

atlas clusters search indexes describe <indexId> [options]

Para saber mais sobre a sintaxe e os parâmetros dos comandos anteriores, consulte a documentação do Atlas CLI para Lista de índices doAtlas Atlas Search de Atlas do Atlas e Descrição dos índices do Atlas Search de clusters do Atlas.

Dica

Veja: links relacionados

Para descrever o índice de pesquisa especificado para o sistema especificado utilizando o Atlas CLI, execute o seguinte comando:

atlas deployments search indexes describe [indexId] [options]

Para listar todos os índices do Atlas Search para o sistema especificado utilizando o Atlas CLI, execute o seguinte comando:

atlas deployments search indexes list [options]

Para saber mais sobre a sintaxe e os parâmetros dos comandos anteriores, consulte a documentação do Atlas CLI para a descrição de índices de pesquisa de implantações do Atlas e a lista de índices de pesquisa de implantações do Atlas.

Dica

1
  1. Se ainda não estiver exibido, selecione a organização que contém o projeto desejado no Menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.

  3. Se a página Clusters ainda não estiver exibida, clique em Database na barra lateral.

2

Você pode acessar a página Atlas Search na barra lateral, o Data Explorer ou a página de detalhes do cluster.

  1. Na barra lateral, clique em Atlas Search sob o título Services .

  2. Na lista suspensa Select data source , selecione seu cluster e clique em Go to Atlas Search.

  1. Clique no botão Browse Collections para o seu cluster.

  2. Expanda o banco de dados e selecione a coleção.

  3. Clique na aba Search Indexes da collection.

  1. Clique no nome do cluster.

  2. Clique na aba Atlas Search.

3

Para recuperar seus índices do Atlas Search por meio mongosh, use o método db.collection.getSearchIndexes() .

O comando tem a seguinte sintaxe. Se você omitir o nome do índice, o Atlas Search retornará todos os índices na coleção.

db.<collection>.getSearchIndexes("<index-name>")

O seguinte comando recupera um índice de pesquisa denominado default da coleção movies . Seus resultados devem se assemelhar à saída do exemplo:

db.movies.getSearchIndexes("default")
[
{
id: '648b4ad4d697b73bf9d2e5e0',
name: 'default',
status: 'READY',
queryable: true,
latestDefinition: { mappings: { dynamic: true } }
}
]

Para usar o Driver C para recuperar seus índices do Atlas Search, use o método mongoc_collection_aggregate() para criar um aggregation pipeline que inclua o estágio $listSearchIndexes .

1
2

O seguinte aplicativo de amostra especifica o estágio $listSearchIndexes em um pipeline de agregação. Em seguida, o aplicativo passa o pipeline e a coleção de destino para o método mongoc_collection_aggregate() . Este método retorna um cursor a partir do qual o código acessa e imprime cada índice do Atlas Search:

#include <mongoc/mongoc.h>
#include <stdlib.h>
int main (void)
{
mongoc_client_t *client = NULL;
mongoc_collection_t *collection = NULL;
mongoc_database_t *database = NULL;
bson_error_t error;
bson_t cmd = BSON_INITIALIZER;
bool ok = true;
bson_t pipeline = BSON_INITIALIZER;
mongoc_cursor_t *cursor = NULL;
mongoc_init();
// Connect to your Atlas deployment
client = mongoc_client_new("<connectionString>");
if (!client) {
fprintf(stderr, "Failed to create a MongoDB client.\n");
ok = false;
goto cleanup;
}
// Access your database and collection
database = mongoc_client_get_database(client, "<databaseName>");
collection = mongoc_database_get_collection(database, "<collectionName>");
// Create an aggregation pipeline with the $listSearchIndexes stage
const char *pipeline_str =
BSON_STR ({"pipeline" : [ {"$listSearchIndexes" : {}} ]});
// Convert your aggregation pipeline to BSON
if (!bson_init_from_json(&pipeline, pipeline_str, -1, &error)) {
fprintf(stderr, "Failed to parse command: %s\n", error.message);
ok = false;
goto cleanup;
}
// Run the aggregation operation and iterate through the indexes returned
cursor = mongoc_collection_aggregate (collection,
MONGOC_QUERY_NONE,
&pipeline,
NULL,
NULL);
const bson_t *got;
char *str;
while (mongoc_cursor_next (cursor, &got)) {
str = bson_as_canonical_extended_json (got, NULL);
printf ("%s\n", str);
bson_free (str);
}
if (mongoc_cursor_error (cursor, &error)) {
fprintf (stderr, "Failed to iterate all documents: %s\n", error.message);
ok = false;
goto cleanup;
}
cleanup:
mongoc_cursor_destroy(cursor);
mongoc_collection_destroy(collection);
mongoc_database_destroy(database);
mongoc_client_destroy(client);
bson_destroy(&pipeline);
bson_destroy(&cmd);
mongoc_cleanup ();
return ok ? EXIT_SUCCESS : EXIT_FAILURE;
}
3
  • Sua connection string do Atlas. Para saber mais, consulte Conectar via Drivers.

  • O banco de dados e a collection para a qual você deseja recuperar os índices.

4
gcc -o view-index view-index.c $(pkg-config --libs --cflags libmongoc-1.0)
./view-index

Para usar o driver C++ para recuperar seus índices do Atlas Search, chame o método list() em uma visualização do índice de pesquisa.

1
2

O seguinte aplicativo de amostra utiliza o método search_indexes() na coleção de destino para instanciar uma visualização de índice de pesquisa. Em seguida, o aplicativo chama o método list() na visualização. Este método retorna um cursor a partir do qual o código acessa e imprime cada índice do Atlas Search.

#include <bsoncxx/json.hpp>
#include <mongocxx/client.hpp>
#include <mongocxx/instance.hpp>
#include <mongocxx/search_index_view.hpp>
using namespace mongocxx;
int main()
{
mongocxx::instance instance{};
try
{
// Connect to your Atlas deployment
mongocxx::uri uri("<connectionString>");
mongocxx::client client(uri);
// Access your database and collection
auto db = client["<databaseName>"];
auto collection = db["<collectionName>"];
// Access and print the indexes in your collection
auto siv = collection.search_indexes();
auto cursor = siv.list();
for (auto&& doc : cursor) {
std::cout << bsoncxx::to_json(doc) << std::endl;
};
}
catch (const std::exception& e)
{
std::cout<< "Exception: " << e.what() << std::endl;
}
return 0;
}
3
  • Sua connection string do Atlas. Para saber mais, consulte Conectar via Drivers.

  • O banco de dados e a collection para a qual você deseja recuperar os índices.

4
g++ -o view-index view-index.cpp $(pkg-config --cflags --libs libmongocxx)
./view-index

Para usar o driver .NET/C# para recuperar seus índices do Atlas Search, use o método List() ou ListAsync() .

O seguinte aplicativo de amostra retorna os índices em uma coleção. Especifique os seguintes valores:

  • Sua connection string do Atlas. Para saber mais, consulte Conectar via Drivers.

  • O banco de dados e a coleta que contêm os índices de pesquisa que você deseja recuperar.

Observação

O método List() retorna um cursor em vez dos próprios índices. Para acessar os índices, use um paradigma de cursor, como o método MoveNext() .

Program.cs
using MongoDB.Bson;
using MongoDB.Driver;
// connect to your Atlas deployment
var uri = "<connection-string>";
var client = new MongoClient(uri);
var db = client.GetDatabase("<databaseName>");
var collection = db.GetCollection<BsonDocument>("<collectionName");
// list your Atlas Search indexes
var result = collection.SearchIndexes.List().ToList();
foreach (var index in result)
{
Console.WriteLine(index);
}

Para executar o aplicativo de amostra, crie um novo projeto de console .NET chamado csharp-list-indexes e copie o exemplo de código anterior para o arquivo Program.cs. Em seguida, use o seguinte comando para executar o projeto:

dotnet run csharp-list-indexes.csproj
<indexes for this collection>

Dica

Documentação da API

Para recuperar índices do Atlas Search em uma collection usando o Driver Java, use o método listSearchIndexes() . Você deve ter o Java Driver v4.11.0 ou superior.

1
2

O seguinte aplicativo de amostra recupera todos os índices do Atlas Search em uma determinada coleção.

1import com.mongodb.client.MongoClient;
2import com.mongodb.client.MongoClients;
3import com.mongodb.client.MongoCollection;
4import com.mongodb.client.MongoCursor;
5import com.mongodb.client.MongoDatabase;
6import org.bson.Document;
7public class ViewIndex {
8 public static void main(String[] args) {
9 // connect to your Atlas cluster
10 String uri = "<connection-string>";
11 try (MongoClient mongoClient = MongoClients.create(uri)) {
12 // set namespace
13 MongoDatabase database = mongoClient.getDatabase("<database-name>");
14 MongoCollection<Document> collection = database.getCollection("<collection-name>");
15 // retrieve indexes
16 try (MongoCursor<Document> resultsCursor = collection.listSearchIndexes().iterator()) {
17 while (resultsCursor.hasNext()) {
18 System.out.println(resultsCursor.next());
19 }
20 }
21 }
22 }
23}
3
  • <connection-string> - Sua string de conexão do Atlas. Para saber mais, consulte Conectar via Drivers.

  • <database-name> - O nome do banco de dados que contém a coleção.

  • <collection-name> - O nome da collection para a qual você deseja recuperar o índice.

4
javac ViewIndex.java
java ViewIndex

Para recuperar seus índices do Atlas Search por meio do Node Driver, use o método auxiliar listSearchIndexes .

Você pode usar o seguinte aplicativo de amostra chamado list-indexes.js para retornar os índices em sua collection. Especifique os seguintes valores:

  • Sua connection string do Atlas. Para saber mais, consulte Conectar via Drivers.

  • O banco de dados e a coleta que contêm os índices de pesquisa que você deseja recuperar.

  • O nome do índice se você desejar recuperar um índice específico. Para retornar todos os índices da collection, omita este valor.

Observação

O comando listSearchIndexes retorna um cursor. Como resultado, ele não retorna imediatamente os índices correspondentes ao comando. Para acessar os resultados, use um paradigma de cursor, como o método toArray() . Para saber mais, consulte Acessar dados de um cursor.

list-indexes.js
import { MongoClient } from "mongodb";
// connect to your Atlas deployment
const uri = "<connection-string>";
const client = new MongoClient(uri);
async function run() {
try {
const database = client.db("<databaseName>");
const collection = database.collection("<collectionName>");
// run the helper method
const result = await collection.listSearchIndexes("<index-name>").toArray();
console.log(result);
} finally {
await client.close();
}
}
run().catch(console.dir);

Para executar o aplicativo de amostra, use o seguinte comando. Seus resultados devem se assemelhar à saída do exemplo:

node list-indexes.js
[
{
id: '648b4ad4d697b73bf9d2e5e0',
name: 'default',
status: 'READY',
queryable: true,
latestDefinition: { mappings: { dynamic: true } }
},
{
id: '648b4ad4d697b73bf9d2e5e1',
name: 'example-index',
status: 'PENDING',
queryable: false,
latestDefinition: {
mappings: { dynamic: false, fields: { text: { type: 'string' } } }
}
}
]

Para usar o driver Python para recuperar seus índices do Atlas Search, chame o método list_search_indexes() em sua coleção.

1
2

O seguinte aplicativo de amostra chama o método list_search_indexes() em uma coleção. Este método retorna um cursor a partir do qual o código acessa e imprime cada índice do Atlas Search:

from pymongo.mongo_client import MongoClient
def view_index():
# Connect to your Atlas deployment
uri = "<connectionString>"
client = MongoClient(uri)
# Access your database and collection
database = client["<databaseName>"]
collection = database["<collectionName>"]
# Get a list of the collection's search indexes and print them
cursor = collection.list_search_indexes()
for index in cursor:
print(index)
3
  • Sua connection string do Atlas. Para saber mais, consulte Conectar via Drivers.

  • O banco de dados e a collection para a qual você deseja recuperar os índices.

4
python view-index.py

Voltar

Retomar ou excluir um rascunho

Próximo

Editar