Pesquisa de texto
MongoDB forneceíndices de texto para dar suporte a queries de texto do Atlas Search no conteúdo da string . Os índices de texto podem incluir qualquer campo cujo valor seja uma string ou uma array de elementos da string.
Observação
MongoDB Atlas também fornece o Atlas Search , que é uma solução de Atlas Search de texto mais poderosa e flexível. O resto desta página discute índices de texto e não Atlas Search.
Para executar uma pesquisa de texto com o driver Ruby, primeiro crie um índice de texto com indexes.create_one()
. O seguinte comando cria um índice de texto no campo name
da collection restaurants
no reconhecimento de data center test
.
client = Mongo::Client.new([ '127.0.0.1:27017' ], :database => 'test') client['restaurants'].indexes.create_one( { :name => 'text' } )
Depois que o índice de texto for criado, você poderá usá-lo como parte de uma query. O código a seguir encontra todos os documentos na collection restaurants
que contêm a palavra garden
, sem distinção entre maiúsculas e minúsculas.
client = Mongo::Client.new([ '127.0.0.1:27017' ], :database => 'test') client[:restaurants].find( { '$text' => { '$search' => 'garden', '$caseSensitive' => false } } ).each do |document| #=> Yields a BSON::Document. end