推荐工具
RoboMongo
推荐书目
50 Tips and Tricks for MongoDB Developers
Related Blogs
Snail in a Turtleneck
97world
V2EX  ›  MongoDB

MongoDB 用正则来模糊查询的性能好像很不理想,除了用 Elasticsearch 这些搜索引擎工具来间接解决,有没有直接点的方法?

  •  
  •   97world · Mar 3, 2017 · 6225 views
    This topic created in 3386 days ago, the information mentioned may be changed or developed.

    我这边有一 Collection ,有 2000W+的数据,业务需求需要根据某一个或者多个 field 来模糊查询,这种情况下查询的速度真的很慢,全 collection 查询完的时间要 40s 以上. 强制命中索引的方法似乎可以改善,但是依然在 30s 以上. 有其他方法可以提升查询的效率吗?

    之前总结了一些解决方案在http://dtoweb.com/post/poor-performance-for-mongodb-fuzzy-query.html, 但实际上都没能最终解决问题.

    2 replies    2017-03-03 17:58:22 +08:00
    zhuangzhuang1988
        1
    zhuangzhuang1988  
       Mar 3, 2017
    预处理一下 ....
    参考这个
    a fat cat sat on a mat - it ate a fat rats ==> 'ate':9 'cat':3 'fat':2,11 'mat':7 'rat':12 'sat':4

    http://www.postgres.cn/docs/9.3/textsearch-controls.html#TEXTSEARCH-PARSING-DOCUMENTS
    ixiaohei
        2
    ixiaohei  
       Mar 3, 2017
    正则会全表扫描,另外 mongodb 的全文索引貌似不支持中文,你只能借助全文搜索引擎处理了,处理好分词就行
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1362 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 23:59 · PVG 07:59 · LAX 16:59 · JFK 19:59
    ♥ Do have faith in what you're doing.