Docs 菜单

Docs 主页开发应用程序MongoDB 驱动程序Ruby MongoDB 驱动程序

文本搜索(Text Search)

MongoDB 提供 文本索引来支持对字符串内容的文本搜索查询。文本索引可以包括值为字符串或字符串元素数组的任何字段。

注意

MongoDB Atlas 还提供Atlas Search ,这是一种更强大、更灵活的文本搜索解决方案。本页的其余部分讨论文本索引,而不是 Atlas Search。

要使用 Ruby 驱动程序执行文本搜索,请先使用 indexes.create_one()创建文本索引。 以下命令在test数据库中的restaurantscollection的name字段上创建文本索引。

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

创建文本索引后,您可以将其用作查询的一部分。 restaurants以下代码查找在collection中包含单词garden 的所有文档,不区分大小写。

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