Menu Docs
Página inicial do Docs
/ /

Índices de pesquisa e Vector Search do MongoDB

You can programmatically manage your MongoDB Search and MongoDB Vector Search indexes by using the Kotlin Sync driver.

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() (valid for MongoDB Search indexes only)

  • createSearchIndexes()

  • listSearchIndexes()

  • updateSearchIndex()

  • dropSearchIndex()

Observação

The MongoDB Search and Vector Search index management methods run asynchronously and might return before confirming that they ran successfully. To determine the current status of the indexes, call the listSearchIndexes() method or view the indexes list in the Atlas UI.

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

You can use the createSearchIndex() method to create a single MongoDB Search index. You cannot use this method to create a Vector Search index.

You can use the createSearchIndexes() method to create multiple MongoDB Search or Vector Search indexes. You must create a SearchIndexModel instance for each index, then pass a list of SearchIndexModel instances to the createSearchIndexes() method.

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)
)

To learn more about the syntax used to define MongoDB Search indexes, see the Review MongoDB Search Index Syntax guide in the Atlas documentation.

You can use the listSearchIndexes() method to return all MongoDB Search indexes in a collection.

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)
}

You can use the updateSearchIndex() method to update a MongoDB Search index.

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

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

You can use the dropSearchIndex() method to delete a MongoDB Search index.

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