2010-10-02 18 views
7

Estoy insertando mis datos en MongoDB y tenía 240 de esos archivos. En lugar de insertar todo en una gran colección, estaba pensando en insertar los archivos como una colección por sí mismos. ¿Es una buena idea si realizo muchas consultas en una columna comúnmente indexada?¿Puedo buscar entre colecciones en MongoDB?

Si es así, ¿cómo puedo iniciar una consulta para consultar todas las colecciones en mi base de datos?

Respuesta

1

El uso de un servidor de aplicaciones como Solr puede ayudar a conseguir lo que desea, también con la adición de coincidencia aproximada, sinónimos, coincidencia fonética, faltas de ortografía, etc.

Solor se construye en la parte superior de Lucene. docs Es aquí:

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

La curva de aprendizaje es un poco empinada, pero puede ser bastante buena capacidad de búsqueda utilizando la mayor parte de sus valores por defecto, dejando a construir un esquema y un índice sus datos para empezar.

1

creo que la respuesta que está buscando es realmente aquí en su otra pregunta: Is there any multicore exploiting NoSQL system?

No hay forma de consulta en todas las colecciones en Mongo. No tendría mucho sentido hacerlo. La fortaleza de MongoDB se centra en la desnormalización táctica de datos en colecciones. Proporcionar operaciones para consultar en todas las colecciones funciona exactamente en contra del concepto de desnormalización táctica.

En teoría, solo podría ejecutar 240 consultas. Pero, de forma más práctica, probablemente termines dividiendo tus datos para que solo tengas que consultar algunas de las colecciones. En este punto, vuelves al enlace que proporcioné arriba, lo que sugiere que la fragmentación de tus datos es probablemente la respuesta aquí.

+0

En elasticsearch puede consultar a través de múltiples índices, y es muy útil, por lo que no creo que se trate de algo general. –

+0

Buen punto, he actualizado la redacción. –

Cuestiones relacionadas