Docs 主页 → 开发应用程序 → MongoDB 驱动程序 → Ruby MongoDB 驱动程序
文本搜索(Text Search)
MongoDB 提供 文本索引来支持对字符串内容的文本搜索查询。文本索引可以包括值为字符串或字符串元素数组的任何字段。
注意
MongoDB Atlas 还提供Atlas Search ,这是一种更强大、更灵活的文本搜索解决方案。本页的其余部分讨论文本索引,而不是 Atlas Search。
要使用 Ruby 驱动程序执行文本搜索,请先使用 indexes.create_one()
创建文本索引。 以下命令在test
数据库中的restaurants
collection的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
地理空间搜索 →