Mongodb索引构建失败

时间:2018-03-22 15:15:57

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

我有一个包含大约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] Index Build:2500/86187 2%

     

2018-03-22T14:58:15.028 + 0000 I - [initandlisten] Index Build:6900/86187 8%

     

2018-03-22T14:58:18.012 + 0000 I - [initandlisten] Index Build:12400/86187 14%

     

2018-03-22T14:58:21.065 + 0000 I - [initandlisten] Index Build:17300/86187 20%

     

2018-03-22T14:58:24.047 + 0000 I - [initandlisten] Index Build:22500/86187 26%

     

2018-03-22T14:58:27.043 + 0000 I - [initandlisten] Index Build:28600/86187 33%

     

2018-03-22T14:58:30.013 + 0000 I - [initandlisten] Index Build: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

     

异常:连接失败

1 个答案:

答案 0 :(得分:1)

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