Mongodb全文索引的设置是否合理?

linkBG
  • 387

百万的数据量,不算大,有个字段,值的长度 > 100,就是很长,包含中文、英语、几乎所有的字符都存在。使用了全文索引,但是不是很理想:

1,搜索特别慢,即使是使用索引了。

db.tests.find({'$text':{'$search':'test'}})

2,当搜索存在''的时候,虽然会被转换为'\',但是没有任何反映,就好像根本没有在运行一样。反复退出,再开启(指的是客户的mongo),再查询。就会把内存(12G,除去系统能用11G)跑满,直接卡死。硬重启。

db.tests.find({'$text':{'$search':'test\1.06'}}) #想要的。
但是通过web输入会变成
db.tests.find({'$text':{'$search':'test\\1.06'}})

不知道这个样的需求适合建索引吗?
谢谢

回复
阅读 2k
1 个回答

全文索引目前建议还是使用专门的搜索引擎去做,MongoDB虽然支持全文索引,但是功能并不是很丰富,使用场景有局限性,很多情况下还存在问题,所以并不推荐使用。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏