我正在尝试在我的 mongo 实例上启用全文搜索,但我要索引的集合非常大。通常,我会打开 mongo 控制台并输入:
db.articles.ensureIndex({"text":"text"})
但是,我已经等了一个小时并且想在一夜之间运行它,所以我正在寻求运行类似nohup
命令的能力。
我知道我可以做一些事情,比如:
mongo dbname --eval "db.articles.ensureIndex({'text':'text'})"
但即使将其改写为:
nohup mongo dbname --eval "db.articles.ensureIndex({'text':'text'})" &
这仍然完全阻止了我的 mongo 使用。那是,
$ mongo
> show dbs
另一个作业在后台运行时超时——索引时完全不可用。有什么方法可以更有效地作为后台进程运行它,或者将 index 命令限制为只有这么多线程之类的?
更新 实际上,它比这更糟糕。运行这个 index 命令似乎让我的 mongo 完全被阻塞和蹒跚。非常非常大的索引,我想。