gpt4 book ai didi

mongodb - 从终端运行 mongo index 命令,非常大索引的解决方案

转载 作者:可可西里 更新时间:2023-11-01 10:01:12 26 4
gpt4 key购买 nike

我正在尝试在我的 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 命令似乎使我的 mongo 完全受阻和受阻。非常非常大的索引,我想。

最佳答案

您应该使用 background 选项。

db.collection.ensureIndex({ text: 'text', background: true })

来自 mongodb 的文档:

Builds the index in the background so that building an index does not block other database activities.

更多信息在这里 http://docs.mongodb.org/manual/reference/method/db.collection.ensureIndex/

关于mongodb - 从终端运行 mongo index 命令,非常大索引的解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17663937/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com