*********** Text Search *********** .. default-domain:: mongodb .. contents:: On this page :local: :backlinks: none :depth: 1 :class: singlecol MongoDB provides :manual:`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. .. note:: MongoDB 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. .. code-block:: ruby 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. .. code-block:: ruby 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