Menu Docs
Página inicial do Docs
/ /

Índices de pesquisa e Vector Search do MongoDB

Você pode gerenciar programaticamente seus índices do MongoDB Search e do MongoDB Vector Search usando o driver Kotlin Sync.

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.

A Vector Search do MongoDB permite realizar pesquisas semânticas em incorporações vetoriais armazenadas no MongoDB Atlas. Os índices do Vector Search definem os índices para as incorporações vetoriais que você deseja consultar e os valores booleanos, de data, objectId, numéricos, de cadeia de caracteres ou UUID que você deseja usar para pré-filtrar os dados.

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

  • createSearchIndex() (válido somente para índices de pesquisa do MongoDB )

  • createSearchIndexes()

  • listSearchIndexes()

  • updateSearchIndex()

  • dropSearchIndex()

Observação

Os métodos de gerenciamento de índice MongoDB 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 listSearchIndexes() método ou visualize a lista de índices na UI 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 método createSearchIndex() para criar um único índice de pesquisa MongoDB . Você não pode utilizar este método para criar um índice de Vector Search .

Você pode usar o método createSearchIndexes() para criar vários índices do MongoDB Search ou Vector Search . Você deve criar uma instância SearchIndexModel para cada índice e, em seguida, passar uma lista de SearchIndexModel instâncias para o createSearchIndexes() método.

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

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

O exemplo de código a seguir mostra como criar índices do MongoDB 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 índices do MongoDB Search, consulte o guia Revisar sintaxe do índice do MongoDB Search na documentação 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:

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

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

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 usar o método dropSearchIndex() para excluir um índice de pesquisa MongoDB .

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 Search, consulte a documentação dos índices de pesquisa do MongoDB .

Voltar

Indexes

Nesta página