Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

db.collection.getSearchIndexes()

Nesta página

  • Definição
  • Compatibilidade
  • Sintaxe
  • Campos de comando
  • Controle de acesso
  • Saída
  • Detalhes de status do índice
  • Detalhes de mapeamento de sinônimo
  • Status do índice do Atlas Search
  • Exemplos
  • Retornar todos os índices de pesquisa
  • Retornar um único índice de pesquisa
db.collection.getSearchIndexes()

Novidade na versão 7.0: (Disponível também a partir de 6.0.7)

Retorna informações sobre os índices existentes doAtlas Search em uma collection especificada.

Importante

Método mongosh

Esta página documenta um método mongosh. Esta não é a documentação para um driver específico de idioma, como Node.js.

Para drivers de API do MongoDB, consulte a documentação do driver do MongoDB específica da linguagem.

Esse método está disponível em implantações hospedadas nos seguintes ambientes:

  • MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem

Importante

Esse comando não é aceito em clusters M0, M2 e M5 ou em instâncias sem servidor. Para obter mais informações, consulte Comandos não suportados.

Sintaxe do comando:

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

getSearchIndexes() usa este campo:

Campo
Tipo
necessidade
Descrição

indexName

string

Opcional

Nome do índice sobre o qual retornar informações. Se você omitir o campo indexName, getSearchIndexes() retorna informações sobre todos os índices do Atlas Search na collection.

Se a sua implementação impõe controle de acesso, o usuário que executa o getSearchIndexes() deve ter a ação de privilégio listSearchIndexes no banco de banco de dados ou na collection:

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

A função read integrada fornece o privilégio listSearchIndexes. O exemplo a seguir concede a função read no banco de dados qa:

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

getSearchIndexes() retorna uma array de documentos. Cada documento no array contém os seguintes campos:

Campo
Tipo
Descrição

id

string

Identificador exclusivo para o índice.

name

string

Nome do índice.

status

string

Status do índice. Para mais informações, consulte Status do índice do Atlas Search.

queryable

booleano

Indica se o índice está pronto para ser query.

latestDefinitionVersion

documento

Descreve a versão do índice.

latestDefinitionVersion.version

inteiro

Número da versão associado à definição do índice. Quando você atualiza uma definição de índice, o número da versão é incrementado automaticamente.

latestDefinitionVersion.createdAt

data

Hora em que a definição de índice atual foi criada.

latestDefinition

documento

A definição mais recente para o índice. Para obter mais informações, consulte Sintaxe de definição do índice de pesquisa.

statusDetail

matriz de documentos

contém o status do índice em cada host de pesquisa (mongot).

statusDetail.[n].hostname

string

Nome do host do mongot correspondente.

statusDetail.[n].status

string

Status do índice no mongot correspondente.

statusDetail.[n].queryable

booleano

Indica se o índice está pronto para ser consultado no mongot correspondente.

statusDetail.[n].mainIndex

documento

Contém informações de status sobre o índice ativo no mongot correspondente.

Para obter detalhes, consulte Detalhes do status do índice.

statusDetail.[n].stagedIndex

documento

Contém informações de status sobre um índice que está sendo criado em segundo plano no mongotcorrespondente. Esse campo só aparece se você estiver criando um novo índice para atualizar um índice ativo existente.

Para obter detalhes, consulte Detalhes do status do índice.

synonymMappingStatus

string

Status dos mapeamentos de sinônimos do índice. Esse campo só aparece se o índice tiver sinônimos definidos. Pode ser um dos seguintes valores:

  • BUILDING

  • FAILED

  • READY

O status retornado é um resumo dos mapeamentos de sinônimos em cada mongot individual.

synonymMappingStatusDetail

matriz de documentos

Contém o status dos mapeamentos de sinônimos do índice em cada host de pesquisa (mongot). Este campo (e seus subcampos) só aparecem se o índice tiver sinônimos definidos.

synonymMappingStatusDetail.[n].status

string

Status do mapeamento de sinônimos correspondente em todos os processos mongot.

synonymMappingStatusDetail.[n].queryable

booleano

Indica se o mapeamento de sinônimos correspondente pode suportar queries em todos os processos do mongot .

message

string

Descreve um erro para o mapeamento de sinônimos, se aplicável. Só aparece se o status para esse mapeamento de sinônimo for FAILED.

A tabela a seguir descreve os campos incorporados dos seguintes documentos: - statusDetail.[mongot].mainIndex - statusDetail.[mongot].stagedIndex

Os campos descrevem o status do índice em um mongot específico.

Campo
Tipo
Descrição

status

string

O estado da geração de índice no mongot correspondente.

queryable

booleano

Indica se a geração do índice está pronta para passar por query no mongot correspondente.

synonymMappingStatus

string

O estado dos mapeamentos de sinônimos da geração de índice no mongot correspondente. Presente somente se o índice tiver sinônimos definidos.

synonymMappingStatusDetails

documento

Contém o status dos mapeamentos de sinônimos do índice no mongot correspondente. Este campo (e seus subcampos) só aparecem se o índice tiver sinônimos definidos.

Para obter mais informações, consulte Detalhes de mapeamento de sinônimos.

definitionVersion

documento

Descreve a versão da definição de índice com a qual esta geração de índice está sendo construída.

definitionVersion.version

inteiro

Número da versão que a geração do índice está usando no mongot correspondente. Quando você atualiza uma definição de índice, o índice atualizado é criado com um número de versão incrementado.

definitionVersion.createdAt

data

Hora em que a definição de índice foi criada.

definition

documento

A definição com a qual esse índice está sendo construído.

A tabela a seguir descreve os campos incorporados dos seguintes objetos:

  • statusDetail.mainIndex.synonymMappingStatusDetails.<synonymMapping>

  • statusDetail.stagedIndex.synonymMappingStatusDetails<synonymMapping>

Campo
Tipo
Descrição

status

string

Status do mapeamento de sinônimos no processo mongot correspondente.

queryable

booleano

Indica se o mapeamento de sinônimos pode dar suporte a consultas no processo mongot correspondente.

message

string

Descreve um erro para o mapeamento de sinônimos, se aplicável. Só aparece se o status para esse mapeamento de sinônimo for FAILED.

O campo status na saída getSearchIndexes() pode ser um dos seguintes:

Status
Descrição

BUILDING

Os cenários a seguir podem fazer com que um índice esteja no estado BUILDING:

  • O Atlas está construindo o índice ou reconstruindo o índice após uma edição.

  • O Atlas Search não consegue acompanhar as alterações de indexação na coleção. Neste caso, o Atlas reconstrói o índice em segundo plano.

Quando o índice está no estado BUILDING:

  • Para um novo índice, o Atlas Search não pode usar o índice para queries até que a criação do índice esteja concluída.

  • Para um índice existente, o Atlas Search usa a definição de índice antiga para query até que a reconstrução do índice seja concluída.

Um índice no estado BUILDING pode ser consultável ou não.

DOES_NOT_EXIST

O índice não existe.

Um índice no estado DOES_NOT_EXIST é sempre não consultável.

DELETING

O Atlas está excluindo o índice.

Um índice no estado DELETING é sempre não consultável.

FAILED

A criação do índice falhou. Os índices podem entrar no estado FAILED devido a uma definição de índice inválida.

Um índice no estado FAILED pode ser consultável ou não.

PENDING

Atlas ainda não começou a construir o índice.

Um índice no estado PENDING é sempre não consultável.

READY

O índice está pronto e tem suporte para queries.

Um índice no estado READY é sempre consultável.

STALE

O índice é consultável, mas parou de replicar dados da coleção indexada. As pesquisas no índice podem retornar dados desatualizados.

Os índices podem entrar no estado STALE devido a erros de replicação.

Um índice no estado STALE é sempre consultável.

Esses exemplos demonstram como:

O exemplo a seguir retorna todos os índice de pesquisa do Atlas Search na collection movies . A collection movies contém dois índice de pesquisa: default e synonym_mappings.

db.movies.getSearchIndexes()

Saída de amostra:

[
{
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
}
}
]
}
}
]
}
]

O exemplo a seguir retorna o índice synonym_mappings na collection movies :

db.movies.getSearchIndexes("synonym_mappings")

Saída de amostra:

[
{
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
}
}
]
}
}
]
}
]

Voltar

db.collection.dropSearchIndex