我这边有一 Collection ,有 2000W+的数据,业务需求需要根据某一个或者多个 field 来模糊查询,这种情况下查询的速度真的很慢,全 collection 查询完的时间要 40s 以上. 强制命中索引的方法似乎可以改善,但是依然在 30s 以上. 有其他方法可以提升查询的效率吗?
之前总结了一些解决方案在http://dtoweb.com/post/poor-performance-for-mongodb-fuzzy-query.html
, 但实际上都没能最终解决问题.
1
zhuangzhuang1988 2017-03-03 16:50:50 +08:00
预处理一下 ....
参考这个 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 |
2
ixiaohei 2017-03-03 17:58:22 +08:00
正则会全表扫描,另外 mongodb 的全文索引貌似不支持中文,你只能借助全文搜索引擎处理了,处理好分词就行
|