开发者社区> 问答> 正文

MongoDB 模糊搜索怎么速度快?

有个数组字段 是这样的 a = ['128jinianlu', 'gongkang', 'pengpu']
我要这么搜:db.shanghai.find({a: /ong/})
我直接给a加索引,搜索的速度还不如不添加快,这是为何

本问题及下方已被采纳的回答均来自云栖社区【Redis&MongoDB 社区大群】。https://yq.aliyun.com/articles/690084 点击链接欢迎加入社区大社群。

展开
收起
李博 bluemind 2019-04-08 13:14:59 2155 0
1 条回答
写回答
取消 提交回答
  • 云栖社区Java、Redis、MongoDB运营小编,有意合作请联系钉钉:15810436147

    正则表达式就跟SQL里面的LIKE一样,除非左侧固定({a: /^ong/}),否则无法使用索引。
    目前MongoDB和一般关系数据库都没有支持这样部分匹配的算法。ElasticSearch似乎有相关支持。但是要明白这是个空间换时间的做法,可能会消耗大量空间。确实需要可以去相关版块提问。

    2019-07-17 23:32:46
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
开源数据库 MongoDB 专场 MongoDB疑难杂症分析及优化 立即下载
MongoDB多数据中心的方案选型之路 立即下载
饿了么高级架构师陈东明:MongoDB是如何逐步提高可靠性的 立即下载