2010-10-02 8 views
7

J'insère mes données dans MongoDB et j'ai 240 fichiers de ce type. Au lieu d'insérer tout dans une grande collection, je pensais à insérer les fichiers en tant que collection par eux-mêmes. Est-ce une bonne idée si je fais beaucoup de requêtes sur une colonne souvent indexée?Puis-je effectuer une recherche parmi les collections dans MongoDB?

Si oui, comment puis-je lancer une requête pour interroger toutes les collections de ma base de données?

Répondre

1

Utilisation d'un serveur d'application tel que Solr peut vous aider à réaliser ce que vous voulez, aussi avec l'ajout de correspondance floue, synonymes, correspondance phonétique, fautes d'orthographe, etc.

Solor est construit sur Lucene. C'est des documents sont ici:

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

La courbe d'apprentissage est un peu raide, mais vous pouvez obtenir assez bonne facilité de recherche en utilisant une grande partie de ses paramètres par défaut, vous laissant construire un schéma et indexer vos données pour commencer.

1

Je pense que la réponse que vous cherchez est vraiment ici sur votre autre question: Is there any multicore exploiting NoSQL system?

Il n'y a aucun moyen d'interroger à travers toutes les collections de Mongo. Cela n'aurait pas beaucoup de sens de le faire. La force de MongoDB est centrée sur la dénormalisation tactique des données en collections. Fournir des opérations à interroger dans toutes les collections va exactement à l'encontre du concept de dénormalisation tactique.

En théorie, vous pouvez simplement exécuter 240 requêtes. Mais plus concrètement, vous finirez probablement par "partitionner" vos données de sorte que vous n'aurez qu'à interroger certaines des collections. À ce stade, vous revenez sur le lien que j'ai fourni ci-dessus, ce qui suggère que partager vos données est probablement la réponse ici.

+0

Dans elasticsearch vous pouvez interroger plusieurs index, et c'est très utile, donc ne pensez pas que c'est un truc général. –

+0

Bon point, j'ai mis à jour le libellé. –

Questions connexes