Docs Menu
Docs Home
/ / /
Ruby MongoDB ドライバー
/

テキスト検索

MongoDB は、string コンテンツに対するテキスト検索クエリをサポートするためにテキスト インデックスを提供します。 テキストインデックスには、値が string または複数の string 配列である任意のフィールドを含めることができます。

注意

MongoDB Atlas は、より強力で柔軟なテキスト検索ソリューションであるAtlas Searchも提供しています。 このページの残りの部分では、Atlas Search ではなく、テキスト インデックスについて説明します。

Ruby ドライバーを使用してテキスト検索を実行するには、まず indexes.create_one()を使用してテキスト インデックスを作成します。 次のコマンドを実行すると、 testデータベースのrestaurantsコレクションのnameフィールドにテキスト インデックスが作成されます。

client = Mongo::Client.new([ '127.0.0.1:27017' ], :database => 'test')
client['restaurants'].indexes.create_one( { :name => 'text' } )

テキストインデックスが作成されたら、クエリの一部として使用できます。 次のコードは、大文字と小文字を区別せずに単語gardenを含むrestaurantsコレクション内のすべてのドキュメントを検索します。

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

戻る

Map-Reduce