2015-06-14 3 views
-1

У меня есть MongoDB с 52M документами в нем. Я не могу получить никаких запросов. Нет соответствующих индексов, поэтому я думаю, что это может быть и так. Однако, когда я пытаюсь создать индекс, казалось, что это тоже не удалось. Я оставил его на 2 часа, и база данных все еще была заблокирована, когда я вернулся. Мне пришлось перезапустить службу.MongoDB с миллионами строк

Любые идеи или вещи, которые нужно искать? Я подумал, что с Монго я могу запросить миллионы строк.

Образец документа

{ 
    "_id" : ObjectId("54dfbcfe8b0de0cd148b4567"), 
    "status" : "SUCCESS", 
    "articles" : [ 
     { 
      "sequenceId" : "423671544757", 
      "id" : "20450468768", 
      "language" : "Danish", 
      "title" : "Se det spøjse billede: Bendtner og co. tvunget i midtergangen", 
      "content" : "De er millionærer med dyre biler og sikkert også råd til en flybillet ved nødudgangen, men da Wolfsburg-spillerne skulle transporteres til lørdagens kamp mod Leverkusen skete det med tog til Köln. \n \nDet blev ikke en helt almindelig tur for Nicklas Bendtner og holdkammeraterne, for den togvogn, som Wolfsburg havde bestilt sine pladsbilletter til, kom aldrig frem. I stedet for vogn 858 kom vogn 848, og så var der ingen reserverede pladser til de dyre fodboldben. \n \nDerfor måtte blandt andre en af holdets største stjerner Kevin De Bruyne sætte sig i mellemgangen i toget, som du kan se på billedet her fra den noget alternative tur for Wolfsburg-holdet. \n \nDen anderledes togtur kom dog ikke til at få den store betydning for Wolfsburg, for der var masser af mål i holdet, da de slog Leverkusen 5-4 lørdag.", 
      "tags" : [], 
      "publishedDate" : "2015-02-14T21:17:00Z", 
      "harvestDate" : "2015-02-14T21:22:45Z", 
      "url" : "http://ct.moreover.com/?a=20450468768&p=20x&v=1&x=PMgZEU9pWnWzzrJkGesHeA", 
      "outboundUrls" : [], 
      "dataFormat" : "text", 
      "loginStatus" : "", 
      "duplicateGroupId" : "20450468768", 
      "media" : { 
       "audio" : [], 
       "images" : [ 
        { 
         "url" : "http://b.bimg.dk/node-images/301/8/140x80/8301685-fbl-ger-bundesliga-leverkusen-wolfsburg.jpg" 
        } 
       ], 
       "video" : [] 
      }, 
      "publishingPlatform" : [], 
      "adultLanguage" : "false", 
      "topics" : [], 
      "companies" : [], 
      "locations" : [], 
      "semantics" : { 
       "events" : [], 
       "entities" : [] 
      }, 
      "author" : { 
       "name" : "Michel Wikkelsø Davidsen", 
       "publishingPlatform" : [] 
      }, 
      "licenses" : [], 
      "source" : { 
       "name" : "B.T. online", 
       "homeUrl" : "http://www.bt.dk", 
       "publisher" : "", 
       "category" : "Trade", 
       "editorialRank" : "3", 
       "location" : { 
        "country" : "Denmark", 
        "countryCode" : "DK", 
        "region" : "Europe", 
        "subregion" : "Northern Europe", 
        "state" : "", 
        "zipArea" : "", 
        "zipCode" : "" 
       }, 
       "feed" : { 
        "id" : "169662017", 
        "name" : "B.T. online", 
        "mediaType" : "News", 
        "tags" : [], 
        "language" : "Unassigned", 
        "dataFormat" : "text", 
        "rank" : { 
         "inboundLinkCount" : "8901" 
        }, 
        "inWhiteList" : "true", 
        "autoTopics" : [], 
        "editorialTopics" : [ 
         "Miscellaneous" 
        ], 
        "genre" : "General" 
       } 
      } 
     } 
    ] 
} 

ответ

1

Индексирование может занять много времени, особенно, если ваш сервер не имеет достаточно вычислительной мощности. Медленный/неадекватный диск, неадекватная оперативная память, процессор может замедлить создание индекса. Даже если вы работаете на более выгодном сервере, поля, которые вы хотите индексировать, могут привести к длительной работе.

Я бы избегал многозначных индексов и пытался запустить индексирование в фоновом режиме. Поскольку вы не предоставили образец документа, я не могу разобраться в деталях.

Смежные вопросы