【问题标题】:Mongodb index built failedMongoDB 索引建立失败
【发布时间】:2018-03-22 15:15:57
【问题描述】:

我有一个包含大约 80k 个文档的 MongoDB,每个文档都是一个带有 titlebody_text 等的条目。我想做 FullTextSearch,为此我使用以下命令创建了一个文本索引:

db.getCollection('arquivo_entry').createIndex({title:"text",body_text:"text"},{ weights:{title:2,body_text:1}},{default_language:"portuguese"})

索引构建失败,因为它耗尽了内存,它杀死了运行 mongodb 的作业。这是在日志中:

2018-03-22T14:58:12.017+0000 I - [initandlisten] 索引构建:2500/86187 2%

2018-03-22T14:58:15.028+0000 I - [initandlisten] 索引构建:6900/86187 8%

2018-03-22T14:58:18.012+0000 I - [initandlisten] 索引构建:12400/86187 14%

2018-03-22T14:58:21.065+0000 I - [initandlisten] 索引构建:17300/86187 20%

2018-03-22T14:58:24.047+0000 I - [initandlisten] 索引构建:22500/86187 26%

2018-03-22T14:58:27.043+0000 I - [initandlisten] 索引构建:28600/86187 33%

2018-03-22T14:58:30.013+0000 I - [initandlisten] 索引构建:34000/86187 39%

2018-03-22T14:58:32.478+0000 F - [initandlisten] 内存不足。

现在的问题是我无法删除索引,每次我尝试启动数据库时,它都会开始自动重建索引。此外,我无法启动 mongodb shell。它给了我以下错误:

MongoDB shell 版本 v3.6.3 连接到:mongodb://127.0.0.1:27017

2018-03-22T15:08:38.688+0000 W NETWORK [thread1] 无法连接到 127.0.0.1:27017,在(轮询后检查套接字是否有错误),原因:连接被拒绝

2018-03-22T15:08:38.688+0000 E QUERY [thread1] 错误:无法连接到服务器 127.0.0.1:27017,连接尝试失败:

connect@src/mongo/shell/mongo.js:251:13 @(connect):1:6

异常:连接失败

【问题讨论】:

    标签: mongodb full-text-search full-text-indexing


    【解决方案1】:

    您可以使用--noIndexBuildRetry 选项启动数据库,删除文本索引,然后像往常一样重新启动数据库。

    【讨论】:

    • 好的,谢谢。有效。您对构建文本搜索索引的替代方法有什么建议吗?
    • 并非如此。在 v3.0 jira.mongodb.org/browse/… 中也有类似的问题,所以如果你能可靠地重现它,请提交一个新的错误报告。
    猜你喜欢
    • 2021-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-28
    • 2014-07-18
    • 2021-03-31
    • 2021-04-16
    • 1970-01-01
    相关资源
    最近更新 更多