MongoDB provides text indexes to support text search queries on string content. Text indexes can include any field whose value is a string or an array of string elements.
NoteMongoDB Atlas also provides Atlas Search which is a more powerful and flexible text search solution. The rest of this page discusses text indexes and not Atlas Search.
To perform a text search with the Ruby driver, first create a text index with indexes.create_one()
. The following command creates a text index on the name
field of the restaurants
collection in the test
database.
client = Mongo::Client.new([ '127.0.0.1:27017' ], :database => 'test')client['restaurants'].indexes.create_one( { :name => 'text' } )
Once the text index is created you can use it as part of a query. The following code finds all documents in the restaurants
collection which contain the word garden
, without case sensitivity.
client = Mongo::Client.new([ '127.0.0.1:27017' ], :database => 'test')client[:restaurants].find( { '$text' => { '$search' => 'garden', '$caseSensitive' => false } } ).each do |document| end
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4