Visão geral
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.
Criar um índice de pesquisa
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 .
Listar índices de pesquisa
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, ... }
Atualizar um Índice de Pesquisa
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) => ())
Excluir um índice de pesquisa
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) => ())
Informações adicionais
Para saber mais sobre a Pesquisa do MongoDB , consulte a documentação da Pesquisa do MongoDB .
Documentação da API
Para saber mais sobre os métodos e tipos mencionados neste guia, consulte a documentação da API abaixo: