2011-07-05 29 views

Respuesta

4

Sí, puedes hacer eso. Simplemente cree un esquema de Solr, que contenga todos los campos necesarios para ambas tablas y agregue otro campo, que contenga el nombre de la tabla. Durante la indexación, agregue la propiedad del nombre de la tabla a los campos que desea indexar. Durante la búsqueda, siempre incluya siempre un parámetro de consulta para el campo del nombre de la tabla.

Como alternativa, puede configurar varias instancias de Solr. Pero debe hacer esto solo, si estamos hablando de cantidades masivas de datos aquí (como millones de filas de tablas).

+2

"Cuanto más heterogéneos (diferentes tipos de datos) tiene en un campo o en un índice, menos útil es" - http://wiki.apache.org/solr/SchemaDesign –

+0

¿me puede dar por favor? un ejemplo ? –

+0

Hola, los comentarios no son realmente el lugar correcto para eso. Por favor haga una nueva pregunta. – nfechner

18

Si alguna parte de su aplicación necesita buscar contactos, y otra necesita buscar en el inventario, cree dos índices separados. Almacenar datos muy diferentes en el mismo índice casi nunca es una buena idea, complica las cosas innecesariamente. A medida que el Solr wiki wisely says:

Los más heterogéneos (diferentes tipos de datos) que tiene en un campo o en un índice, el menos útil que es .

No necesita tener varias instancias de Solr para acomodar múltiples índices, puede administrarlo fácilmente con multi-core.

+1

Pero no puedes buscar en los núcleos (por lo menos hasta donde puedo ver) – soandos

7

Encontré una respuesta muy útil a esta pregunta here, que incluye algunas indicaciones sobre el uso de "índices múltiples" frente a "múltiples tipos de documentos en un índice". La publicación también vincula al código de ejemplo en github que encontré muy útil.

+0

gracias por la sugerencia, mucho mejor que seguir los solr documentos. –

+5

El enlace publicado por vulcan ha cambiado desde entonces. Aquí está el nuevo: http://lucidworks.com/blog/solr-powered-isfdb-part-4/ – daekano

Cuestiones relacionadas