Docs Menu
Docs Home
/
MongoDB Atlas
/ /

Atlas Search 인덱스 삭제

이 페이지의 내용

  • 필요한 액세스 권한
  • Atlas Search 인덱스 삭제

다음 표는 각 역할이 지원하는 액세스 모드를 보여줍니다.

역할
작업
Atlas UI
Atlas API
Atlas Search API
Atlas CLI

Project Data Access Read Only 이상의 역할

Atlas Search 분석기 및 인덱스를 보려면 다음 단계를 따르세요.

Project Data Access Admin 이상의 역할

Atlas Search 분석기 및 인덱스를 생성 및 관리하고 API 키에 역할을 할당합니다.

API 키에 대한 액세스 생성 목록 항목을 만들고 API 키에 대한 액세스 목록에 표시되는 클라이언트에서 요청을 보냅니다.

Atlas UI 또는 API를 사용하여 Atlas Search 인덱스를 생성, 확인, 편집 및 삭제합니다.

Atlas UI에서 또는 mongosh, Atlas CLI, API 또는 원하는 언어로 지원되는 MongoDB 드라이버 를 사용하여 프로그래밍 방식으로 Atlas Search 인덱스를 삭제할 수 있습니다.

참고

명령 또는 운전자 헬퍼 메서드를 사용하여 모든 Atlas cluster 계층에서 Atlas Search 인덱스를 삭제 수 있습니다.mongosh 지원되는 운전자 버전 목록은 MongoDB 드라이버를 참조하세요.

인덱스가 포함된 데이터베이스에 대해 최소한 readWriteAnyDatabase 역할 또는 readWrite 액세스 권한이 있어야 합니다. 자세히 알아보려면 기본 제공 역할 또는 특정 권한을참조하세요.


언어 선택 드롭다운 메뉴를 사용하여 이 섹션에 있는 예시의 언어를 설정합니다.


API를 통해 Atlas Search 인덱스를 삭제하려면 다음을 수행하세요.

1

삭제하려는 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개 삭제를 참조하세요.

2

Atlas CLI를 사용하여 cluster에서 검색 인덱스를 삭제하려면 다음 명령을 실행하세요.

atlas clusters search indexes delete <indexId> [options]

명령 구문 및 매개변수에 대한 자세한 내용은 Atlas CLI 문서에서 Atlas 클러스터 검색 인덱스 삭제를 참조하세요.

참조: 관련 링크

Atlas CLI를 사용하여 지정된 배포에 대해 지정된 검색 인덱스를 삭제하려면 다음 명령을 실행합니다.

atlas deployments search indexes delete <indexId> [options]

명령 구문 및 매개변수에 대해 자세히 알아보려면 Atlas 배포에 대한 Atlas CLI 설명서에서 Atlas Search 인덱스 삭제를 참조하세요.

참조: 관련 링크

1
  1. 아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 원하는 프로젝트가 포함된 조직을 선택합니다.

  2. 아직 표시되지 않은 경우 탐색 표시줄의 Projects 메뉴에서 원하는 프로젝트를 선택합니다.

  3. 아직 표시되지 않은 경우 사이드바에서 Clusters를 클릭합니다.

    Clusters(클러스터) 페이지가 표시됩니다.

2

사이드바, Data Explorer 또는 클러스터 세부 정보 페이지에서 Atlas Search 페이지로 이동할 수 있습니다.

  1. 사이드바에서 Services 제목 아래의 Atlas Search를 클릭합니다.

  2. Select data source 드롭다운에서 클러스터를 선택하고 Go to Atlas Search를 클릭합니다.

    Atlas Search 페이지가 표시됩니다.

  1. cluster의 Browse Collections 버튼을 클릭합니다.

  2. 데이터베이스를 확장하고 컬렉션을 선택합니다.

  3. 컬렉션의 Search Indexes 탭을 클릭합니다.

    Atlas Search 페이지가 표시됩니다.

  1. 클러스터 이름을 클릭합니다.

  2. Atlas Search 탭을 클릭합니다.

    Atlas Search 페이지가 표시됩니다.

3

ellipsis 버튼은 패널 오른쪽에 있습니다. 원하는 인덱스 옆의 버튼을 클릭하고 Delete Index 을 선택합니다.

4

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() 메서드에 전달합니다.

1
2

다음 샘플 애플리케이션은 dropSearchIndex 명령과 기존 인덱스 이름을 지정합니다. 이후 애플리케이션은 명령과 인덱스 정보를 BSON으로 변환하고, 이 정보를 mongoc_collection_command_simple() 메서드에 전달하여 검색 인덱스를 삭제합니다.

#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;
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;
}
3
4
gcc -o delete-index delete-index.c $(pkg-config --libs --cflags libmongoc-1.0)
./delete-index

C++ 드라이버를 사용하여 Atlas Search 인덱스를 삭제하려면 검색 인덱스 뷰에서 drop_one() 메서드를 호출합니다.

1
2

다음 샘플 애플리케이션은 대상 컬렉션에 search_indexes() 메서드를 사용하여 검색 인덱스 보기를 인스턴스화합니다. 그런 다음 애플리케이션은 보기에서 drop_one() 메서드를 호출하고 Atlas Search 인덱스 이름을 파라미터로 전달하여 인덱스를 삭제합니다.

#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 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;
}
3
4
g++ -o delete-index delete-index.cpp $(pkg-config --cflags --libs libmongocxx)
./delete-index

.NET/C# 드라이버를 사용하여 Atlas Search 인덱스를 삭제하려면 DropOne() 또는 DropOneAsync() 메서드를 사용합니다.

다음 샘플 애플리케이션은 컬렉션에서 인덱스를 삭제합니다. 다음 값을 지정합니다.

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>");
// 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를 사용하여 인덱스 상태를 볼 수 있습니다.

API 문서

이 페이지의 메서드에 대한 자세한 내용은 .NET/C# 드라이버의 API 설명서를 참조하세요.

Java Driver를 사용하여 컬렉션에서 Atlas Search 인덱스를 삭제하려면 dropSearchIndex() 메서드를 사용합니다. Java Driver v4.11.0 이상이 있어야 합니다.

1
2

다음 샘플 애플리케이션은 지정된 컬렉션에서 지정된 Atlas Search 인덱스를 삭제합니다.

1import com.mongodb.client.MongoClient;
2import com.mongodb.client.MongoClients;
3import com.mongodb.client.MongoCollection;
4import com.mongodb.client.MongoDatabase;
5import org.bson.Document;
6
7public 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}
3
  • <connection-string> - Atlas 연결 문자열입니다. 자세한 내용은 드라이버를 통해 연결을 참조하세요.

    참고

    연결 문자열에 writeConcern 설정을 포함하지 마세요.

  • <database-name> - 컬렉션이 포함된 데이터베이스의 이름입니다.

  • <collection-name> - 인덱스를 검색하려는 컬렉션의 이름입니다.

  • <index-name> - 삭제할 인덱스의 이름입니다.

4
javac DeleteIndex.java
java DeleteIndex

다음도 참조하세요.

노드 드라이버 를 통해 Atlas Search 인덱스를 삭제하려면 dropSearchIndex 헬퍼 메서드를 사용합니다.

drop-index.js 이)라는 이름의 다음 샘플 애플리케이션을 사용하여 collection에서 인덱스를 삭제할 수 있습니다. 다음 값을 지정합니다.

drop-index.js
// 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() 메서드를 호출하세요.

1
2

다음 샘플 애플리케이션은 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>")
3
4
python delete-index.py

돌아가기

편집