Menu Docs
Página inicial do Docs
/ / /
Driver de Kotlin Sync
/ /

Atlas Search e índices de Vector Search

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

Você pode gerenciar seus índices Atlas Search e Atlas Vector Search pelo código de programação usando o Kotlin Sync driver.

O Atlas Search permite realizar 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.

O Atlas Vector Search permite que você realize pesquisas semânticas em incorporações vetoriais armazenadas no MongoDB Atlas. Os índices de pesquisa de vetores definem os índices para as incorporações vetoriais nas quais você deseja fazer query e os valores booleanos, de data, objectId, numéricos, de string ou UUID que você deseja usar para pré-filtrar seus dados.

Você pode chamar os seguintes métodos em uma coleção para gerenciar seus índices Atlas Search e Vector Search :

  • createSearchIndex() (válido somente para índices do Atlas Search )

  • createSearchIndexes()

  • listSearchIndexes()

  • updateSearchIndex()

  • dropSearchIndex()

Observação

Os métodos de gerenciamento de índice Atlas Search e Vector 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() ou visualize a lista de índices na interface do usuário do Atlas.

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

Você pode usar o createSearchIndex() para criar um único índice do Atlas Search . Você não pode utilizar este método para criar um índice de Vector Search .

Você pode usar o createSearchIndexes() método para criar múltiplos índices do Atlas Search ou Vector Search . Você deve criar um SearchIndexModel instância para cada índice e, em seguida, passe uma lista de SearchIndexModel instâncias para o createSearchIndexes() método .

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

val index = Document("mappings", Document("dynamic", true))
collection.createSearchIndex("mySearchIdx", index)

O exemplo de código a seguir mostra como criar índices Atlas Search e Vector Search em uma chamada:

val searchIdxMdl = SearchIndexModel(
"searchIdx",
Document("analyzer", "lucene.standard").append(
"mappings", Document("dynamic", true)
),
SearchIndexType.search()
)
val vectorSearchIdxMdl = SearchIndexModel(
"vsIdx",
Document(
"fields",
listOf(
Document("type", "vector")
.append("path", "embeddings")
.append("numDimensions", 1536)
.append("similarity", "dotProduct")
)
),
SearchIndexType.vectorSearch()
)
collection.createSearchIndexes(
listOf(searchIdxMdl, vectorSearchIdxMdl)
)

Para saber mais sobre a sintaxe usada para definir os índices do Atlas Search, consulte o guia Revisar o índice de pesquisa do Atlas Search na documentação do Atlas.

Você pode usar o método listSearchIndexes() para retornar todos os índices de Atlas 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:

val results = collection.listSearchIndexes()
results.forEach { result ->
println(result)
}

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

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

val newIndex = Document("mappings", Document("dynamic", true))
collection.updateSearchIndex("<index to update>", newIndex)

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

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

collection.dropIndex("<index to delete>")

Para saber mais sobre o MongoDB Atlas Search, consulte a documentação dos índices do Atlas Search.

Voltar

Índices compostos