2010-10-02 13 views
7

Ich füge meine Daten in MongoDB ein und hatte 240 solcher Dateien. Anstatt alles in eine große Sammlung einzufügen, dachte ich daran, die Dateien selbst als Sammlung einzufügen. Ist das eine gute Idee, wenn ich viele Abfragen für eine häufig indizierte Spalte mache?Kann ich Sammlungen in MongoDB durchsuchen?

Wenn ja, wie kann ich eine Abfrage initiieren, um alle Sammlungen in meiner Datenbank abzufragen?

Antwort

1

einen Anwendungsserver wie Solr können Ihnen helfen, zu erreichen, was Sie wollen, auch mit Zusatz von Fuzzy Matching, Synonyme, Lautanpassung, falsche Schreibweisen etc.

Solor oben auf Lucene gebaut. Es ist docs sind hier:

http://lucene.apache.org/solr/

Die Lernkurve ist ein wenig steil, aber man kann ziemlich gut Auffindbarkeit mit viel von seiner Standardwerte erhalten, verlassen Sie ein Schema und Index um Ihre Daten zu bauen, um loszulegen.

1

Ich denke, die Antwort, die Sie suchen auf Ihre andere Frage hier wirklich ist: Is there any multicore exploiting NoSQL system?

Es gibt keine Möglichkeit für alle Sammlungen in Mongo abzufragen. Es wäre nicht sehr sinnvoll, dies zu tun. Die Stärke von MongoDB liegt in der taktischen Denormalisierung von Daten in Sammlungen. Die Bereitstellung von Operationen zur Abfrage quer durch alle Sammlungen läuft genau dem Konzept der taktischen Denormalisierung zuwider.

In der Theorie könnten Sie nur 240 Abfragen ausführen. Aber praktisch werden Sie wahrscheinlich Ihre Daten "partitionieren", so dass Sie nur einige der Sammlungen abfragen müssen. An diesem Punkt enden Sie wieder bei dem Link, den ich oben angegeben habe, was darauf hindeutet, dass das Teilen Ihrer Daten wahrscheinlich die Antwort hier ist.

+0

In elasticsearch können Sie über mehrere Indizes abfragen, und es ist sehr nützlich, also denken Sie nicht, dass es eine allgemeine Nosql-Sache ist. –

+0

Guter Punkt, ich habe den Wortlaut aktualisiert. –

Verwandte Themen