当前位置: 首页 > 知识库问答 >
问题:

构建Mongodb索引失败

钱和平
2023-03-14

我有一个MongoDB,里面有大约80k个文档,每个文档都是一个带有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/861872%

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

2018-03-22T14:58:18.0120000 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外壳版本v3。6.3连接到:mongodb://127.0.0.1:27017

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

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

connect@src/mongo/shell/mongo。js:251:13@(连接):1:6

异常:连接失败

共有1个答案

东方化
2023-03-14

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

 类似资料:
  • 主要内容:createIndex() 方法,dropIndex() 方法,dropIndexes() 方法,getIndexes() 方法索引是特殊的数据结构,存储在一个方便遍历和读取的数据集合中。索引在任何数据库中都非常重要,通过使用索引,可以大大提高查询语句的执行效率。 举个简单的例子,假如您有一个集合,其中包含了数千甚至上万个没有索引的文档,当我们在集合中查找某个文档时,MongoDB 需要扫描整个集合来寻找所需的文档,这种扫描效率极低,特别是在处理大量的数据时,可能需要花费几十秒甚至几分

  • 问题内容: 我不了解pymongo和pymongo之间的区别。在MongoDB索引页面上,它说 您可以通过调用 但是在pymongo中,有两个不同的命令和,创建索引的文档包括: 与create_index()尝试无条件创建索引的方法不同,sure_index()利用驱动程序中的某些缓存,以便仅尝试创建可能不存在的索引。当PyMongo创建(或确保)索引时,将在ttl秒内“记住”该索引。在此期限内重

  • 我正在开发一个用户管理API在一个Spring启动,我做了最需要的实体类,服务和存储库,但我错过了一些我看不到的东西。我想出了我的pom.xml执行我的主类,但它找不到它。当我运行"./mvnw sping-引导:运行"在我的项目目录下,它抛出了下面的构建失败: 我的pom.xml: 请,我会很高兴与任何帮助!谢谢

  • 本文向大家介绍MongoDB的索引,包括了MongoDB的索引的使用技巧和注意事项,需要的朋友参考一下 1、简介 它就像是一本书的目录,如果没有它,我们就需要对整个书籍进行查找来获取需要的结果,即所说的全盘扫描; 而有了目录(索引)之后就可以通过它帮我们定位到目标所在的位置,快速的获取我们想要的结果。 2、演示 第一步,向用户集合users中插入100W条数据 LZ的渣渣I3和4G内存总共耗时了4

  • 本文向大家介绍MongoDB中重建索引的方法,包括了MongoDB中重建索引的方法的使用技巧和注意事项,需要的朋友参考一下 要重新构建索引,请使用reIndex()。让我们首先创建一个索引。查询如下 这将产生以下输出: 以下是在MongoDB中重建索引的查询- 这将产生以下输出-

  • 主要内容:索引数组字段,索引子文档字段假如在 users 集合中插入以下文档: 在上面的文档中包含了一个名为 address 的子文档和一个名为 tags 的数组。 索引数组字段 假设要想根据集合内 tags 字段中的某个值来搜索用户文档,就需要我们为集合中的 tags 字段创建索引。想要在数组类型的字段上创建索引,需要为数组中的每个字段依次创建单独的索引。 在下面的示例中,当我们在 tags 字段上创建索引时,MongoDB 会自动