【发布时间】:2020-06-01 20:41:51
【问题描述】:
我对如何在 mongoid 中通过文本搜索实现正则表达式有点困惑
我用我的联系人模型索引如下:
index(FirstName: "text", LastName: "text")
在我的搜索操作中,我有:
search = '/.*' + search_string + '.*/'
@contacts.collection.find( { '$text': { '$search': search } }, "collation" => { "locale" => "en_US" } )
因此,当我传递一个字符串时,例如 "Joh",我希望它返回不区分大小写的结果,其中包括名称为 "Majoh" 的联系人,"Majohboo" 和 "John" 因为我在搜索字符串周围添加了正则表达式。
我做错了什么,我的查询应该如何实现? 如果我无法使用文本类型索引来实现这一点,那么您会建议我用什么替换我的索引?
【问题讨论】:
标签: ruby-on-rails mongodb mongoid