문서 메뉴
문서 홈
/
MongoDB 매뉴얼
/ / /

db.collection.getSearchIndexes()

이 페이지의 내용

  • 정의
  • 구문
  • 명령 필드
  • 액세스 제어
  • 출력
  • 인덱스 상태 세부 정보
  • 동의어 매핑 세부 정보
  • Atlas Search 인덱스 상태
  • 예제
  • 모든 검색 인덱스 반환
  • 단일 검색 인덱스 반환
db.collection.getSearchIndexes()

버전 6.0.7에 추가 되었습니다.

지정된 컬렉션의 기존 Atlas Search 인덱스 에 대한 정보를 반환합니다.

중요

이 명령은 MongoDB Atlas 에서 호스팅되는 배포에서만 실행할 수 있으며, 최소 M10 의 Atlas 클러스터 계층이 필요합니다.

중요

Mongo쉬 방법

이 페이지에서는 mongosh 메서드를 설명합니다. 이는 Node.js와 같은 언어별 드라이버에 대한 설명서가 아닙니다 .

MongoDB API 드라이버의 경우 언어별 MongoDB 드라이버 설명서를 참조하세요.

명령 구문:

db.<collection>.getSearchIndexes(<indexName>)

getSearchIndexes() 는 이 필드를 사용합니다.

필드
유형
필요성
설명
indexName
문자열
옵션
정보를 반환할 인덱스의 이름입니다. indexName 필드를 생략하면 getSearchIndexes() 는 collection의 모든 Atlas Search 검색 인덱스에 대한 정보를 반환합니다.

배포에서 액세스 제어를 적용하는 경우 getSearchIndexes() 를 실행하는 사용자에게는 데이터베이스 또는 컬렉션에 대한 listSearchIndexes 권한 작업이 있어야 합니다.

{
resource: {
db : <database>,
collection: <collection>
},
actions: [ "listSearchIndexes" ]
}

기본 제공 read 역할은 listSearchIndexes 권한을 제공합니다. 다음 예에서는 qa 데이터베이스에 read 역할을 부여합니다.

db.grantRolesToUser(
"<user>",
[ { role: "read", db: "qa" } ]
)

getSearchIndexes() 문서 배열을 반환합니다. 배열의 각 문서에는 다음 필드가 포함되어 있습니다.

필드
유형
설명
id
문자열
인덱스의 고유 식별자입니다.
name
문자열
인덱스의 이름입니다.
status
문자열
인덱스의 상태입니다. 자세한 내용은 Atlas Search 인덱스 상태 를 참조하세요.
queryable
부울
인덱스를 쿼리할 준비가 되었는지 여부를 나타냅니다.
latestDefinitionVersion
문서
인덱스의 버전을 설명합니다.
latestDefinitionVersion.version
integer
인덱스 정의와 연결된 버전 번호입니다. 인덱스 정의를 업데이트하면 버전 번호가 자동으로 증가합니다.
latestDefinitionVersion.createdAt
날짜
현재 인덱스 정의가 생성된 시간입니다.
latestDefinition
문서
인덱스에 대한 가장 최근의 정의입니다. 자세한 내용은 검색 인덱스 정의 구문을 참조하세요.
statusDetail
문서 배열
각 검색 호스트(mongot)의 인덱스 상태를 포함합니다.
statusDetail.[n].hostname
문자열
해당 mongot 의 호스트 이름입니다.
statusDetail.[n].status
문자열
해당 mongot 의 인덱스 상태입니다.
statusDetail.[n].queryable
부울
인덱스가 해당 mongot 에서 쿼리할 준비가 되었는지 여부를 나타냅니다.
statusDetail.[n].mainIndex
문서

해당 mongot 의 활성 인덱스에 대한 상태 정보를 포함합니다.

자세한 내용은 인덱스 상태 세부 정보를 참조하세요.

statusDetail.[n].stagedIndex
문서

해당 mongot 의 백그라운드에서 빌드 중인 인덱스에 대한 상태 정보를 포함합니다. 이 필드는 기존 활성 인덱스를 업데이트하기 위해 새 인덱스를 작성하는 경우에만 표시됩니다.

자세한 내용은 인덱스 상태 세부 정보를 참조하세요.

synonymMappingStatus
문자열

인덱스의 동의어 매핑 상태입니다. 이 필드는 인덱스에 동의어가 정의되어 있는 경우에만 표시됩니다. 다음 값 중 하나일 수 있습니다.

  • BUILDING

  • FAILED

  • READY

반환된 상태는 각 개별 mongot 에 대한 동의어 매핑의 요약입니다.

synonymMappingStatusDetail
문서 배열
각 검색 호스트(mongot)에서 인덱스의 동의어 매핑 상태를 포함합니다. 이 필드(및 해당 하위 필드)는 인덱스에 동의어가 정의되어 있는 경우에만 표시됩니다.
synonymMappingStatusDetail.[n].status
문자열
모든 mongot 프로세스에서 해당 동의어 매핑의 상태입니다.
synonymMappingStatusDetail.[n].queryable
부울
해당 동의어 매핑이 모든 mongot 프로세스에서 쿼리를 지원할 수 있는지 여부를 나타냅니다.
message
문자열
해당하는 경우 동의어 매핑에 대한 오류를 설명합니다. 이 동의어 매핑에 대한 statusFAILED 인 경우에만 나타납니다.

다음 표에서는 다음 문서의 포함된 필드에 대해 설명합니다: - statusDetail.[mongot].mainIndex - statusDetail.[mongot].stagedIndex

필드는 특정 mongot 의 인덱스 상태를 설명합니다.

필드
유형
설명
status
문자열
해당 mongot 의 인덱스 생성 상태입니다.
queryable
부울
인덱스 생성이 해당 mongot 에서 쿼리할 준비가 되었는지 여부를 나타냅니다.
synonymMappingStatus
문자열
해당 mongot 에 대한 인덱스 생성의 동의어 매핑 상태입니다. 인덱스에 동의어가 정의되어 있는 경우에만 표시됩니다.
synonymMappingStatusDetails
문서

해당 mongot 에 대한 인덱스의 동의어 매핑 상태를 포함합니다. 이 필드(및 해당 하위 필드)는 인덱스에 동의어가 정의되어 있는 경우에만 표시됩니다.

자세한 내용은 동의어 매핑 세부 정보 를 참조하세요.

definitionVersion
문서
이 인덱스 생성을 구축하는 데 사용할 인덱스 정의 버전을 설명합니다.
definitionVersion.version
integer
인덱스 생성이 해당 mongot 에서 사용 중인 버전 번호입니다. 인덱스 정의를 업데이트하면 업데이트된 인덱스가 증가된 버전 번호로 빌드됩니다.
definitionVersion.createdAt
날짜
인덱스 정의가 생성된 시간입니다.
definition
문서
이 인덱스를 구축하는 데 사용되는 정의입니다.

다음 표에서는 다음 객체의 포함된 필드에 대해 설명합니다.

  • statusDetail.mainIndex.synonymMappingStatusDetails.<synonymMapping>

  • statusDetail.stagedIndex.synonymMappingStatusDetails<synonymMapping>

필드
유형
설명
status
문자열
해당 mongot 프로세스의 동의어 매핑 상태입니다.
queryable
부울
동의어 매핑이 해당 mongot 프로세스에 대한 쿼리를 지원할 수 있는지 여부를 나타냅니다.
message
문자열
해당하는 경우 동의어 매핑에 대한 오류를 설명합니다. 이 동의어 매핑에 대한 statusFAILED 인 경우에만 나타납니다.

getSearchIndexes() 출력의 status 필드는 다음 중 하나일 수 있습니다.

상태
설명
BUILDING

다음 시나리오로 인해 인덱스가 BUILDING 상태가 될 수 있습니다.

  • Atlas가 인덱스를 작성하거나 편집 후 인덱스를 다시 작성하고 있습니다.

  • Atlas Search는 컬렉션의 인덱싱 변경 사항을 따라잡을 수 없습니다. 이 경우 Atlas는 백그라운드에서 인덱스를 다시 작성합니다.

인덱스가 BUILDING 상태인 경우:

  • 새 인덱스의 경우 Atlas Search는 인덱스 빌드가 완료될 때까지 쿼리에 인덱스를 사용할 수 없습니다.

  • 기존 인덱스의 경우 Atlas Search는 인덱스 재작성이 완료될 때까지 쿼리에 이전 인덱스 정의를 사용합니다.

BUILDING 상태의 인덱스는 쿼리 가능하거나 쿼리 불가능할 수 있습니다.

DOES_NOT_EXIST

인덱스가 존재하지 않습니다.

DOES_NOT_EXIST 상태의 인덱스는 항상 쿼리할 수 없습니다.

DELETING

Atlas가 인덱스를 삭제하는 중입니다.

DELETING 상태의 인덱스는 항상 쿼리할 수 없습니다.

FAILED

인덱스 빌드에 실패했습니다. 유효하지 않은 인덱스 정의로 인해 인덱스가 FAILED 상태에 들어갈 수 있습니다.

FAILED 상태의 인덱스는 쿼리 가능하거나 쿼리 불가능할 수 있습니다.

PENDING

Atlas가 아직 인덱스 빌드를 시작하지 않았습니다.

PENDING 상태의 인덱스는 항상 쿼리할 수 없습니다.

READY

인덱스가 준비되었으며 쿼리를 지원할 수 있습니다.

READY 상태의 인덱스는 항상 쿼리할 수 있습니다.

STALE

인덱스는 쿼리 가능하지만 인덱싱된 컬렉션에서 데이터 복제를 중지했습니다. 인덱스를 검색하면 오래된 데이터가 반환될 수 있습니다.

인덱스는 복제 오류로 인해 STALE 상태가 될 수 있습니다.

STALE 상태의 인덱스는 항상 쿼리할 수 있습니다.

이 예제에서는 다음을 수행하는 방법을 보여 줍니다.

다음 예제에서는 movies collection에 대한 모든 Atlas Search 검색 인덱스를 반환합니다. movies collection에는 두 개의 검색 인덱스 defaultsynonym_mappings 가 포함되어 있습니다.

db.movies.getSearchIndexes()

샘플 출력:

[
{
id: '6524096020da840844a4c4a7',
name: 'default',
status: 'BUILDING',
queryable: true,
latestDefinitionVersion: {
version: 2,
createdAt: ISODate("2023-10-09T14:51:57.355Z")
},
latestDefinition: {
mappings: { dynamic: true },
storedSource: { include: [ 'awards.text' ] }
},
statusDetail: [
{
hostname: 'atlas-n1cm1j-shard-00-02',
status: 'BUILDING',
queryable: true,
mainIndex: {
status: 'READY',
queryable: true,
definitionVersion: {
version: 0,
createdAt: ISODate("2023-10-09T14:08:32.000Z")
},
definition: { mappings: { dynamic: true, fields: {} } }
},
stagedIndex: {
status: 'PENDING',
queryable: false,
definitionVersion: {
version: 1,
createdAt: ISODate("2023-10-09T14:51:29.000Z")
},
definition: {
mappings: { dynamic: true, fields: {} },
storedSource: true
}
}
},
{
hostname: 'atlas-n1cm1j-shard-00-01',
status: 'BUILDING',
queryable: true,
mainIndex: {
status: 'READY',
queryable: true,
definitionVersion: {
version: 0,
createdAt: ISODate("2023-10-09T14:08:32.000Z")
},
definition: { mappings: { dynamic: true, fields: {} } }
},
stagedIndex: {
status: 'PENDING',
queryable: false,
definitionVersion: {
version: 1,
createdAt: ISODate("2023-10-09T14:51:29.000Z")
},
definition: {
mappings: { dynamic: true, fields: {} },
storedSource: true
}
}
},
{
hostname: 'atlas-n1cm1j-shard-00-00',
status: 'BUILDING',
queryable: true,
mainIndex: {
status: 'READY',
queryable: true,
definitionVersion: {
version: 0,
createdAt: ISODate("2023-10-09T14:08:32.000Z")
},
definition: { mappings: { dynamic: true, fields: {} } }
}
}
]
},
{
id: '65240be420da840844a4d077',
name: 'synonym_mappings',
status: 'READY',
queryable: true,
latestDefinitionVersion: {
version: 0,
createdAt: ISODate("2023-10-09T14:19:16.305Z")
},
latestDefinition: {
mappings: {
dynamic: true,
fields: {
fullplot: { type: 'string' }
}
},
synonyms: [
{
name: 'synonym_mapping',
analyzer: 'lucene.english',
source: { collection: 'synonyms' }
}
]
},
synonymMappingStatus: 'READY',
synonymMappingStatusDetail: [
{
synonym_mapping: {
status: 'READY',
queryable: true
}
}
],
statusDetail: [
{
hostname: 'atlas-n1cm1j-shard-00-02',
status: 'READY',
queryable: true,
mainIndex: {
status: 'READY',
queryable: true,
definitionVersion: {
version: 0,
createdAt: ISODate("2023-10-09T14:19:16.000Z")
},
definition: {
mappings: {
dynamic: true,
fields: {
fullplot: {
type: 'string',
indexOptions: 'offsets',
store: true,
norms: 'include'
}
}
},
synonyms: [
{
name: 'synonym_mapping',
analyzer: 'lucene.english',
source: { collection: 'synonyms' }
}
]
},
synonymMappingStatus: 'READY',
synonymMappingStatusDetail: [
{
synonym_mapping: {
status: 'READY',
queryable: true
}
}
]
}
},
{
hostname: 'atlas-n1cm1j-shard-00-01',
status: 'READY',
queryable: true,
mainIndex: {
status: 'READY',
queryable: true,
definitionVersion: {
version: 0,
createdAt: ISODate("2023-10-09T14:19:16.000Z")
},
definition: {
mappings: {
dynamic: true,
fields: {
fullplot: {
type: 'string',
indexOptions: 'offsets',
store: true,
norms: 'include'
}
}
},
synonyms: [
{
name: 'synonym_mapping',
analyzer: 'lucene.english',
source: { collection: 'synonyms' }
}
]
},
synonymMappingStatus: 'READY',
synonymMappingStatusDetail: [
{
synonym_mapping: {
status: 'READY',
queryable: true
}
}
]
}
},
{
hostname: 'atlas-n1cm1j-shard-00-00',
status: 'READY',
queryable: true,
mainIndex: {
status: 'READY',
queryable: true,
definitionVersion: {
version: 0,
createdAt: ISODate("2023-10-09T14:19:16.000Z")
},
definition: {
mappings: {
dynamic: true,
fields: {
fullplot: {
type: 'string',
indexOptions: 'offsets',
store: true,
norms: 'include'
}
}
},
synonyms: [
{
name: 'synonym_mapping',
analyzer: 'lucene.english',
source: { collection: 'synonyms' }
}
]
},
synonymMappingStatus: 'READY',
synonymMappingStatusDetail: [
{
synonym_mapping: {
status: 'READY',
queryable: true
}
}
]
}
}
]
}
]

다음 예제에서는 movies collection의 synonym_mappings 인덱스를 반환합니다.

db.movies.getSearchIndexes("synonym_mappings")

샘플 출력:

[
{
id: '65240be420da840844a4d077',
name: 'synonym_mappings',
status: 'READY',
queryable: true,
latestDefinitionVersion: {
version: 0,
createdAt: ISODate("2023-10-09T14:19:16.305Z")
},
latestDefinition: {
mappings: {
dynamic: true,
fields: {
fullplot: { type: 'string' }
}
},
synonyms: [
{
name: 'synonym_mapping',
analyzer: 'lucene.english',
source: { collection: 'synonyms' }
}
]
},
synonymMappingStatus: 'READY',
synonymMappingStatusDetail: [
{
synonym_mapping: {
status: 'READY',
queryable: true
}
}
],
statusDetail: [
{
hostname: 'atlas-n1cm1j-shard-00-02',
status: 'READY',
queryable: true,
mainIndex: {
status: 'READY',
queryable: true,
definitionVersion: {
version: 0,
createdAt: ISODate("2023-10-09T14:19:16.000Z")
},
definition: {
mappings: {
dynamic: true,
fields: {
fullplot: {
type: 'string',
indexOptions: 'offsets',
store: true,
norms: 'include'
}
}
},
synonyms: [
{
name: 'synonym_mapping',
analyzer: 'lucene.english',
source: { collection: 'synonyms' }
}
]
},
synonymMappingStatus: 'READY',
synonymMappingStatusDetail: [
{
synonym_mapping: {
status: 'READY',
queryable: true
}
}
]
}
},
{
hostname: 'atlas-n1cm1j-shard-00-01',
status: 'READY',
queryable: true,
mainIndex: {
status: 'READY',
queryable: true,
definitionVersion: {
version: 0,
createdAt: ISODate("2023-10-09T14:19:16.000Z")
},
definition: {
mappings: {
dynamic: true,
fields: {
fullplot: {
type: 'string',
indexOptions: 'offsets',
store: true,
norms: 'include'
}
}
},
synonyms: [
{
name: 'synonym_mapping',
analyzer: 'lucene.english',
source: { collection: 'synonyms' }
}
]
},
synonymMappingStatus: 'READY',
synonymMappingStatusDetail: [
{
synonym_mapping: {
status: 'READY',
queryable: true
}
}
]
}
},
{
hostname: 'atlas-n1cm1j-shard-00-00',
status: 'READY',
queryable: true,
mainIndex: {
status: 'READY',
queryable: true,
definitionVersion: {
version: 0,
createdAt: ISODate("2023-10-09T14:19:16.000Z")
},
definition: {
mappings: {
dynamic: true,
fields: {
fullplot: {
type: 'string',
indexOptions: 'offsets',
store: true,
norms: 'include'
}
}
},
synonyms: [
{
name: 'synonym_mapping',
analyzer: 'lucene.english',
source: { collection: 'synonyms' }
}
]
},
synonymMappingStatus: 'READY',
synonymMappingStatusDetail: [
{
synonym_mapping: {
status: 'READY',
queryable: true
}
}
]
}
}
]
}
]
← db.collection.dropSearchIndex()