Excluir um índice do Atlas Search
Acesso necessário
A tabela a seguir mostra os modos de acesso que cada papel suporta.
Função | em ação | IU do Atlas | Atlas API | API de pesquisa do Atlas | Atlas CLI |
---|---|---|---|---|---|
| Para visualizar analisadores e índices do Atlas Search. | ✓ | ✓ | ||
| 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. | ✓ | ✓ | ✓ |
Excluir um índice do Atlas Search
Você pode excluir um índice do Atlas Search na UI do Atlas ou programaticamente usando o mongosh
, o Atlas CLI, aAPI ou um driver MongoDB compatível em seu idioma preferido.
Observação
Você deve ter pelo menos o papel do readWriteAnyDatabase
ou acesso do readWrite
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 excluir um índice do Atlas Search por meio da API:
Envie uma solicitação DELETE
.
Envie uma solicitação DELETE
com o ID ou nome exclusivo do índice do Atlas Search que você quer excluir para o endpoint search/indexes/
.
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Accept: application/json" \ --include \ --request DELETE "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 um dos endpoints, consulte Excluir um por nome e Excluir um por ID.
Excluir um índice do Atlas Search para um sistema em nuvem
Para excluir um índice de pesquisa de um agrupamento utilizando o Atlas CLI, execute o seguinte comando:
atlas clusters search indexes delete <indexId> [options]
Para saber mais sobre a sintaxe e os parâmetros do comando, consulte a documentação do Atlas CLI sobre excluir índices de pesquisa dos clusters do Atlas.
Excluir um índice de pesquisa do Atlas Search para um Local Deployment
Para excluir o índice de pesquisa especificado para o sistema especificado utilizando o Atlas CLI, execute o seguinte comando:
atlas deployments search indexes delete <indexId> [options]
Para saber mais sobre a sintaxe e os parâmetros do comando, consulte a documentação da Atlas CLI do Atlas para Atlas índices do Atlas Search nas implantações do Atlas.
No Atlas, VáGo para a Clusters página do seu projeto.
Se ainda não tiver sido exibido, selecione a organização que contém seu projeto 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 ainda não estiver exibido, clique em Clusters na barra lateral.
A página Clusters é exibida.
Para excluir um índice do Atlas Search por meio de mongosh
, use o método db.collection.dropSearchIndex()
.
O comando tem a seguinte sintaxe:
db.<collection>.dropSearchIndex("<index-name>")
Exemplo
O seguinte comando exclui um índice de pesquisa chamado default
da coleção movies
:
db.movies.dropSearchIndex("default")
Observação
O comando db.collection.dropSearchIndex()
não retorna uma saída. Você pode utilizar a interface do usuário do Atlas para visualizar o status do índice.
Para usar o driver C para excluir seu índice do Atlas Search , passe sua coleção e o comando de descarte para o método mongoc_collection_command_simple()
.
Exemplo
Copie o seguinte exemplo de código no arquivo.
O aplicativo de exemplo a seguir especifica o comando dropSearchIndex
e um nome de índice existente. Em seguida, o aplicativo converte o comando e as informações de índice para BSON e passa essas informações para o método mongoc_collection_command_simple()
para excluir o índice de pesquisa.
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; 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>"); // Specify the command and the index name const char *cmd_str = BSON_STR ({"dropSearchIndex" : "<collectionName>", "name" : "<indexName>"}); // Convert your command to BSON if (!bson_init_from_json(&cmd, cmd_str, -1, &error)) { fprintf(stderr, "Failed to parse command: %s\n", error.message); ok = false; goto cleanup; } // Run the command to drop the search index if (!mongoc_collection_command_simple (collection, &cmd, NULL, NULL, &error)) { fprintf(stderr, "Failed to run dropSearchIndex: %s\n", error.message); ok = false; goto cleanup; } printf ("Index dropped!\n"); cleanup: mongoc_collection_destroy(collection); mongoc_database_destroy(database); mongoc_client_destroy(client); 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 coleção para os quais você deseja excluir um índice.
O nome do índice que você deseja excluir.
Para usar o driver C++ para excluir o índice do Atlas Search, chame o método drop_one()
em uma visualização de índice de pesquisa.
Exemplo
Copie o seguinte exemplo de código no arquivo.
O seguinte aplicativo de amostra usa o método search_indexes()
na coleção de destino para instanciar uma exibição de índice de pesquisa. Em seguida, o aplicativo chama o método drop_one()
na exibição e passa um nome de índice do Atlas Search como um parâmetro para excluir o índice.
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 the indexes in your collection auto siv = collection.search_indexes(); // Delete your search index auto name = "<indexName>"; siv.drop_one(name); } 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 coleção para os quais você deseja obter os índices.
O nome do índice que você deseja excluir.
Para usar o driver .NET/C# para excluir um índice do Atlas Search, use o método DropOne()
ou DropOneAsync()
.
Exemplo
O seguinte aplicativo de exemplo exclui um índice de 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 coleção que contêm o índice de pesquisa que você deseja excluir.
O nome do índice de pesquisa que você deseja excluir.
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>"); // drop your Atlas Search index collection.SearchIndexes.DropOne("<index name>");
Para executar o aplicativo de amostra, crie um novo projeto de console .NET chamado csharp-delete-index
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-delete-index.csproj
Observação
O método DropOne()
não retorna uma saída. Você pode usar a interface do Atlas para visualizar o status do índice.
Dica
Documentação da API
Para saber mais sobre os métodos desta página, consulte a documentação da API para o driver .NET/C#.
Para excluir um índice do Atlas Search em uma coleção usando o Java Driver, use o método dropSearchIndex()
. 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 exclui o índice do Atlas Search especificado na coleção especificada.
1 import com.mongodb.client.MongoClient; 2 import com.mongodb.client.MongoClients; 3 import com.mongodb.client.MongoCollection; 4 import com.mongodb.client.MongoDatabase; 5 import org.bson.Document; 6 7 public class DeleteIndex { 8 public static void main(String[] args) { 9 // connect to your Atlas cluster 10 String uri = "<connection-string>"; 11 12 try (MongoClient mongoClient = MongoClients.create(uri)) { 13 // set namespace 14 MongoDatabase database = mongoClient.getDatabase("<database-name>"); 15 MongoCollection<Document> collection = database.getCollection("<collection>"); 16 // delete the index 17 collection.dropSearchIndex("<index-name>"); 18 } 19 } 20 }
Substitua os seguintes valores e salve o arquivo.
<connection-string>
- Sua string de conexão do Atlas. Para saber mais, consulte Conectar via drivers.Observação
Na sua string de conexão, não inclua a configuração writeConcern .
<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.<index-name>
- o nome do índice a ser excluído.
Para excluir um índice do Atlas Search por meio do driver Node, use o método auxiliar dropSearchIndex
.
Exemplo
Você pode usar o seguinte aplicativo de amostra chamado drop-index.js
para excluir um índice na sua collection. Especifique os seguintes valores:
Sua connection string do Atlas. Para saber mais, consulte Conectar via Drivers.
O banco de dados e a coleção onde você criou o índice de pesquisa.
O nome do índice que você deseja excluir.
// 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 await collection.dropSearchIndex("<index-name>"); } finally { await client.close(); } } run().catch(console.dir);
Para executar o aplicativo de amostra, use o seguinte comando.
node drop-index.js
Observação
O método dropSearchIndex
não retorna uma saída. Você pode usar a interface do Atlas para visualizar o status do índice.
Para usar o driver Python para excluir seu índice do Atlas Search , chame o método drop_search_index()
na sua coleção.
Exemplo
Copie o seguinte exemplo de código no arquivo.
O aplicativo de amostra a seguir passa um nome de índice do Atlas Search para o método drop_search_index()
para excluir o índice.
from pymongo.mongo_client import MongoClient def delete_index(): # Connect to your Atlas deployment uri = "<connectionString>" client = MongoClient(uri) # Access your database and collection database = client["<databaseName>"] collection = database["<collectionName>"] # Delete your search index collection.drop_search_index("<indexName>")
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 coleção para os quais você deseja excluir um índice.
O nome do índice que você deseja excluir.