Ver um índice de pesquisa do Atlas.
Importante
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 .
Acesso necessário
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 |
---|---|---|---|---|---|
Project Data Access Read Only ou role superior | 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. | ✓ | ✓ | ✓ | ✓ |
Project Owner papel | ✓ | ✓ | |||
Organization Owner papel | 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. | ✓ | ✓ | ✓ |
Ver um índice de pesquisa 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ê 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:
Envie uma GET
solicitação de .
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.
Para recuperar todos os índices do Atlas Search para uma coleção:
Envie uma GET
solicitação de .
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}"
Para recuperar todos os índices do Atlas Search para um cluster:
Envie uma GET
solicitação de .
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"
Recuperar índices do Atlas Search para um sistema em nuvem
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
Recuperar índices do Atlas Search para um sistema local
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
Veja: links relacionados
No Atlas, vá Clusters para a página do seu projeto.
Se ainda não estiver exibido, selecione a organização que contém o 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.
Se a página Clusters ainda não estiver exibida, clique em Database na barra lateral.
Acesse a página do Atlas Search do seu cluster.
Você pode acessar a página Atlas Search na barra lateral, o Data Explorer ou a página de detalhes do cluster.
Na barra lateral, clique em Atlas Search sob o título Services .
Na lista suspensa Select data source , selecione seu cluster e clique em Go to Atlas Search.
Clique no botão Browse Collections para o seu cluster.
Expanda o banco de dados e selecione a coleção.
Clique na aba Search Indexes da collection.
Clique no nome do cluster.
Clique na aba Atlas Search.
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>")
Exemplo
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
.
Exemplo
Copie o seguinte exemplo de código no arquivo.
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:
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; }
Especifique os seguintes valores e salve o arquivo.
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.
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.
Exemplo
Copie o seguinte exemplo de código no arquivo.
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.
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; }
Especifique os seguintes valores e salve o arquivo.
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.
Para usar o driver .NET/C# para recuperar seus índices do Atlas Search, use o método List()
ou ListAsync()
.
Exemplo
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()
.
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 saber mais sobre os métodos nesta página, consulte a documentação da API para o driver .NET/C#.
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.
Copie o seguinte exemplo de código no arquivo.
O seguinte aplicativo de amostra recupera todos os índices do Atlas Search em uma determinada coleção.
1 import com.mongodb.client.MongoClient; 2 import com.mongodb.client.MongoClients; 3 import com.mongodb.client.MongoCollection; 4 import com.mongodb.client.MongoCursor; 5 import com.mongodb.client.MongoDatabase; 6 import org.bson.Document; 7 public 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 }
Substitua os seguintes valores e salve o arquivo.
<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.
Dica
Veja também:
Para recuperar seus índices do Atlas Search por meio do Node Driver, use o método auxiliar listSearchIndexes
.
Exemplo
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.
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.
Exemplo
Copie o seguinte exemplo de código no arquivo.
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)
Especifique os seguintes valores e salve o arquivo.
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.