Menu Docs
Página inicial do Docs
/ / /
Scala
/

Índices de pesquisa do Atlas

Nesta página

  • Visão geral
  • Criar um índice de pesquisa
  • Listar índices de pesquisa
  • Atualizar um Índice de Pesquisa
  • Excluir um índice de pesquisa
  • Informações adicionais

O Atlas Search permite que você realize pesquisas de texto completo em coleções hospedadas no MongoDB Atlas. Os índices do Atlas Search 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 Atlas Search:

  • createSearchIndex()

  • createSearchIndexes()

  • listSearchIndexes()

  • updateSearchIndex()

  • dropSearchIndex()

Observação

Os métodos de gerenciamento de índice do Atlas Search são executados de forma assíncrona e podem retornar antes de confirmar que foram executados com êxito. 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 utilizar os métodos createSearchIndex() e createSearchIndexes() para criar um ou mais índices de Atlas Search .

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

O seguinte exemplo de código mostra como criar um índice Atlas Search:

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, você deve fornecer nomes de índice para cada índice ao utilizar 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 os índices do Atlas Search, consulte o guia Review Atlas Search Index Syntax no manual do Atlas.

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

O seguinte exemplo de código mostra como imprimir uma lista dos índices de pesquisa em 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 utilizar o método updateSearchIndex() para atualizar um índice de Atlas 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 utilizar o método dropSearchIndex() para excluir um índice de Atlas 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 o Atlas Search, consulte a documentação do Atlas Search .

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

Voltar

Multichave