Menu Docs
Página inicial do Docs
/ /

Índices de pesquisa do MongoDB

O MongoDB Search permite realizar pesquisas de texto completo em collections hospedadas no MongoDB Atlas. Os índices de pesquisa do MongoDB especificam o comportamento da pesquisa e quais campos indexar.

Você pode chamar os seguintes métodos em uma coleção para gerenciar seus índices de pesquisa MongoDB :

  • createSearchIndex()

  • createSearchIndexes()

  • listSearchIndexes()

  • updateSearchIndex()

  • dropSearchIndex()

Observação

Os métodos de gerenciamento de índice do MongoDB Search são executados de forma assíncrona e podem retornar antes de confirmar que foram executados com sucesso. Para determinar o status atual dos índices, chame o método listSearchIndexes().

As seções a seguir fornecem exemplos de código que demonstram como usar cada um dos métodos anteriores.

Você pode usar os métodos createSearchIndex() e createSearchIndexes() para criar um ou mais índices do MongoDB Search.

Você também pode usar esses métodos para criar índices de Vector Search do MongoDB . A Vector Search do MongoDB permite realizar pesquisas semânticas em incorporações vetoriais armazenadas no MongoDB Atlas . Para saber mais sobre esse recurso, consulte a visão geral da Vector Search do MongoDB .

O seguinte exemplo de código mostra como criar um índice de pesquisa MongoDB :

val index = Document("mappings" -> Document("dynamic" -> true))
collection.createSearchIndex("<index name>", index)
.subscribe((result: String) => ())

O seguinte exemplo de código mostra como criar múltiplos índices: Ao contrário do método createSearchIndex(), que atribui um nome padrão ao índice criado, é necessário fornecer nomes para cada índice ao usar o método createSearchIndexes().

val indexOne = SearchIndexModel("<first index name>", Document("mappings" -> Document("dynamic" -> true, "fields" -> Document("field1" -> Document("type" -> "string")))))
val indexTwo = SearchIndexModel("<second index name>", Document("mappings" -> Document("dynamic" -> false, "fields" -> Document("field2" -> Document("type" -> "string")))))
collection.createSearchIndexes(List(indexOne, indexTwo))
.subscribe((result: String) => ())

Para saber mais sobre a sintaxe usada para definir índices do MongoDB Search, consulte o guia Revisar a sintaxe do índice de pesquisa do MongoDB no manual do Atlas .

Você pode usar o método listSearchIndexes() para retornar todos os índices do MongoDB Search em uma coleção.

O exemplo de código a seguir mostra como imprimir uma lista dos índices de pesquisa de uma coleção assinando o Observable retornado pelo método listSearchIndexes():

collection.listSearchIndexes()
.subscribe((result: Document) => println(result.toJson()))
{"id": "...", "name": "<index name 1>", "type": "search", "status": "READY", "queryable": true, ... }
{"id": "...", "name": "<index name 2>", "type": "search", "status": "READY", "queryable": true, ... }

Você pode usar o método updateSearchIndex() para atualizar um índice do MongoDB Search.

O seguinte código mostra como atualizar um índice de pesquisa:

val updateIndex = Document("mappings" -> Document("dynamic" -> false))
collection.updateSearchIndex("<index to update>", updateIndex)
.subscribe((result: Unit) => ())

Você pode usar o método dropSearchIndex() para excluir um índice do MongoDB Search.

O seguinte código mostra como excluir um índice de pesquisa de uma coleção:

collection.dropSearchIndex("<index name>")
.subscribe((result: Unit) => ())

Para saber mais sobre a Pesquisa do MongoDB , consulte a documentação da Pesquisa do MongoDB .

Para saber mais sobre os métodos e tipos mencionados neste guia, consulte a documentação da API abaixo:

Voltar

Multichave

Nesta página