我有一个包含大约80k文档的MongoDB,每个文档都是title
,body_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
异常:连接失败