Atlas Search 인덱스 삭제
이 페이지의 내용
필요한 액세스 권한
다음 표는 각 역할이 지원하는 액세스 모드를 보여줍니다.
역할 | 작업 | Atlas UI | Atlas API | Atlas Search API | Atlas CLI |
---|---|---|---|---|---|
Atlas Search 분석기 및 인덱스를 보려면 다음 단계를 따르세요. | ✓ | ✓ | |||
| Atlas Search 분석기 및 인덱스를 생성 및 관리하고 API 키에 역할을 할당합니다. | ✓ | ✓ | ✓ | ✓ |
✓ | ✓ | ||||
API 키에 대한 액세스 생성 목록 항목을 만들고 API 키에 대한 액세스 목록에 표시되는 클라이언트에서 요청을 보냅니다. | ✓ | ✓ | |||
Atlas UI 또는 API를 사용하여 Atlas Search 인덱스를 생성, 확인, 편집 및 삭제합니다. | ✓ | ✓ | ✓ |
Atlas Search 인덱스 삭제
Atlas UI에서 또는 mongosh
, Atlas CLI, API 또는 원하는 언어로 지원되는 MongoDB 드라이버 를 사용하여 프로그래밍 방식으로 Atlas Search 인덱스를 삭제할 수 있습니다.
참고
명령 또는 운전자 헬퍼 메서드를 사용하여 모든 Atlas cluster 계층에서 Atlas Search 인덱스를 삭제 수 있습니다.mongosh
지원되는 운전자 버전 목록은 MongoDB 드라이버를 참조하세요.
인덱스가 포함된 데이터베이스에 대해 최소한 readWriteAnyDatabase
역할 또는 readWrite
액세스 권한이 있어야 합니다. 자세히 알아보려면 기본 제공 역할 또는 특정 권한을참조하세요.
➤ 언어 선택 드롭다운 메뉴를 사용하여 이 섹션에 있는 예시의 언어를 설정합니다.
API를 통해 Atlas Search 인덱스를 삭제하려면 다음을 수행하세요.
DELETE
요청을 보냅니다.
삭제하려는 Atlas Search 인덱스의 고유 ID 또는 이름을 포함하여 search/indexes/
엔드포인트로 DELETE
요청을 전송합니다.
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}"
두 엔드포인트의 구문 및 매개변수에 대해 자세히 알아보려면 이름으로 1개 삭제 및 ID로 1개 삭제를 참조하세요.
cloud 배포에 대한 Atlas Search 검색 인덱스 삭제
Atlas CLI를 사용하여 cluster에서 검색 인덱스를 삭제하려면 다음 명령을 실행하세요.
atlas clusters search indexes delete <indexId> [options]
명령 구문 및 매개변수에 대한 자세한 내용은 Atlas CLI 문서에서 Atlas 클러스터 검색 인덱스 삭제를 참조하세요.
로컬 배포에 대한 Atlas Search 검색 인덱스 삭제
Atlas CLI를 사용하여 지정된 배포에 대해 지정된 검색 인덱스를 삭제하려면 다음 명령을 실행합니다.
atlas deployments search indexes delete <indexId> [options]
명령 구문 및 매개변수에 대해 자세히 알아보려면 Atlas 배포에 대한 Atlas CLI 설명서에서 Atlas Search 인덱스 삭제를 참조하세요.
AtlasGo Atlas 에서 프로젝트 의 Clusters 페이지로 고 (Go) 합니다.
아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 원하는 프로젝트가 포함된 조직을 선택합니다.
아직 표시되지 않은 경우 탐색 표시줄의 Projects 메뉴에서 원하는 프로젝트를 선택합니다.
아직 표시되지 않은 경우 사이드바에서 Clusters를 클릭합니다.
Clusters(클러스터) 페이지가 표시됩니다.
클러스터의 Atlas Search 페이지로 이동합니다.
사이드바, Data Explorer 또는 클러스터 세부 정보 페이지에서 Atlas Search 페이지로 이동할 수 있습니다.
사이드바에서 Services 제목 아래의 Atlas Search를 클릭합니다.
Select data source 드롭다운에서 클러스터를 선택하고 Go to Atlas Search를 클릭합니다.
Atlas Search 페이지가 표시됩니다.
cluster의 Browse Collections 버튼을 클릭합니다.
데이터베이스를 확장하고 컬렉션을 선택합니다.
컬렉션의 Search Indexes 탭을 클릭합니다.
Atlas Search 페이지가 표시됩니다.
클러스터 이름을 클릭합니다.
Atlas Search 탭을 클릭합니다.
Atlas Search 페이지가 표시됩니다.
mongosh
를 통해 Atlas Search 인덱스를 삭제하려면 db.collection.dropSearchIndex()
메서드를 사용합니다.
명령은 다음과 같은 구문을 가집니다:
db.<collection>.dropSearchIndex("<index-name>")
예시
다음 명령은 movies
컬렉션의 default
검색 인덱스를 삭제합니다.
db.movies.dropSearchIndex("default")
참고
db.collection.dropSearchIndex()
명령은 출력을 반환하지 않습니다. Atlas UI를 사용하여 인덱스 상태를 볼 수 있습니다.
C 드라이버를 사용하여 Atlas Search 인덱스를 삭제하려면 컬렉션과 제거 명령을 mongoc_collection_command_simple()
메서드에 전달합니다.
예시
다음 코드 예시를 파일에 복사합니다.
다음 샘플 애플리케이션은 dropSearchIndex
명령과 기존 인덱스 이름을 지정합니다. 이후 애플리케이션은 명령과 인덱스 정보를 BSON으로 변환하고, 이 정보를 mongoc_collection_command_simple()
메서드에 전달하여 검색 인덱스를 삭제합니다.
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; }
다음 값을 지정하고 파일을 저장합니다.
Atlas 연결 문자열입니다. 자세한 사항은 드라이버를 통해 연결을 참조하십시오.
인덱스를 삭제하려는 데이터베이스 및 컬렉션.
삭제하려는 인덱스의 이름입니다.
C++ 드라이버를 사용하여 Atlas Search 인덱스를 삭제하려면 검색 인덱스 뷰에서 drop_one()
메서드를 호출합니다.
예시
다음 코드 예시를 파일에 복사합니다.
다음 샘플 애플리케이션은 대상 컬렉션에 search_indexes()
메서드를 사용하여 검색 인덱스 보기를 인스턴스화합니다. 그런 다음 애플리케이션은 보기에서 drop_one()
메서드를 호출하고 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 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; }
다음 값을 지정하고 파일을 저장합니다.
Atlas 연결 문자열입니다. 자세한 사항은 드라이버를 통해 연결을 참조하십시오.
인덱스를 검색하려는 데이터베이스 및 컬렉션입니다.
삭제하려는 인덱스의 이름입니다.
.NET/C# 드라이버를 사용하여 Atlas Search 인덱스를 삭제하려면 DropOne()
또는 DropOneAsync()
메서드를 사용합니다.
예시
다음 샘플 애플리케이션은 컬렉션에서 인덱스를 삭제합니다. 다음 값을 지정합니다.
Atlas 연결 문자열입니다. 자세한 사항은 드라이버를 통해 연결을 참조하십시오.
삭제하려는 검색 인덱스가 포함된 데이터베이스 및 컬렉션.
삭제하려는 검색 인덱스의 이름입니다.
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>");
샘플 애플리케이션을 실행하려면 csharp-delete-index
(이)라는 새 .NET 콘솔 프로젝트를 만들고 이전 코드 예시를 Program.cs
파일에 복사합니다. 그 후 다음 명령을 사용하여 프로젝트를 실행합니다.
dotnet run csharp-delete-index.csproj
참고
DropOne()
메서드는 출력을 반환하지 않습니다. Atlas UI를 사용하여 인덱스 상태를 볼 수 있습니다.
Java Driver를 사용하여 컬렉션에서 Atlas Search 인덱스를 삭제하려면 dropSearchIndex()
메서드를 사용합니다. Java Driver v4.11.0 이상이 있어야 합니다.
다음 코드 예시를 파일에 복사합니다.
다음 샘플 애플리케이션은 지정된 컬렉션에서 지정된 Atlas Search 인덱스를 삭제합니다.
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 }
다음 값을 바꾼 다음 파일을 저장합니다.
<connection-string>
- Atlas 연결 문자열입니다. 자세한 내용은 드라이버를 통해 연결을 참조하세요.참고
연결 문자열에 writeConcern 설정을 포함하지 마세요.
<database-name>
- 컬렉션이 포함된 데이터베이스의 이름입니다.<collection-name>
- 인덱스를 검색하려는 컬렉션의 이름입니다.<index-name>
- 삭제할 인덱스의 이름입니다.
노드 드라이버 를 통해 Atlas Search 인덱스를 삭제하려면 dropSearchIndex
헬퍼 메서드를 사용합니다.
예시
drop-index.js
이)라는 이름의 다음 샘플 애플리케이션을 사용하여 collection에서 인덱스를 삭제할 수 있습니다. 다음 값을 지정합니다.
Atlas 연결 문자열입니다. 자세한 사항은 드라이버를 통해 연결을 참조하십시오.
검색 인덱스를 만든 데이터베이스 및 컬렉션.
삭제하려는 인덱스의 이름입니다.
// 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);
샘플 애플리케이션을 실행하려면 다음 명령을 사용합니다.
node drop-index.js
참고
dropSearchIndex
메서드는 출력을 반환하지 않습니다. Atlas UI를 사용하여 인덱스 상태를 볼 수 있습니다.
Python Driver를 사용하여 Atlas Search 인덱스를 삭제하려면 컬렉션에서 drop_search_index()
메서드를 호출하세요.
예시
다음 코드 예시를 파일에 복사합니다.
다음 샘플 애플리케이션은 Atlas Search 인덱스 이름을 drop_search_index()
메서드에 전달하여 인덱스를 삭제합니다.
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>")
다음 값을 지정하고 파일을 저장합니다.
Atlas 연결 문자열입니다. 자세한 사항은 드라이버를 통해 연결을 참조하십시오.
인덱스를 삭제하려는 데이터베이스 및 컬렉션.
삭제하려는 인덱스의 이름입니다.