2010-03-24 9 views
14

Estoy considerando utilizar Solr en una aplicación para varios inquilinos y me pregunto si hay algunas prácticas recomendadas o cosas que debo tener en cuenta.Solr en un entorno de múltiples inquilinos

Una pregunta en particular es ¿tendría sentido tener un Solr Core por inquilino. ¿Hay algún problema con tener una gran cantidad de núcleos de Solr? Estoy considerando usar un núcleo por inquilino porque podría asegurar cada núcleo por separado.

Gracias

+0

¿qué plataforma de cliente estás usando? –

+0

considere ElasticSearch también – Karussell

Respuesta

0

Usted no más utilizaría un table in a database separada para cada inquilino que lo haría un solr core para cada inquilino.

Si piensa en un núcleo como una tabla de base de datos y organiza su proyecto de tal manera que cada núcleo representa un objeto en su espacio problemático, entonces puede aprovechar mejor la solución.

Donde solr brilla cuando necesita indexar texto y luego buscarlo rápidamente. Si no está haciendo eso, también podría usar una base de datos relacional.

Además de su pregunta sobre cómo asegurar solr para cada inquilino, espero que no esté sugiriendo que permita que los usuarios que hayan iniciado sesión accedan directamente a la salida de solr. Sus usuarios no deberían poder acceder directamente a su instancia de solr.

Buena suerte.

3

Los núcleos Solr son una excelente idea para multitenant, especialmente porque se pueden gestionar en tiempo de ejecución (por lo que no es necesario reiniciar el servidor). No debe tener demasiados problemas de rendimiento para tener múltiples núcleos de Solr, pero tenga en cuenta que el rendimiento de un núcleo se verá afectado por el trabajo en otros núcleos: probablemente compartan el mismo disco.

Veo por qué es posible que desee dar acceso directo a la API, por ejemplo, si cada 'usuario' es un sitio de Drupal o similar, para un entorno de tipo de alojamiento compartido. Lo mejor sería proteger las diferentes URL, p. si tuviera/solr/admin/cores,/solr/client1 para un núcleo de cliente y/solr/client2 para otro, tendría tres autenticaciones diferentes, una para su administrador y otra para cada uno de sus inquilinos. Esto se hace en el contenedor (Jetty, Tomcat, etc.), eche un vistazo a la página general de Solr Security: http://wiki.apache.org/solr/SolrSecurity - deseará configurar un inicio de sesión de acceso básico para cada ruta de la misma manera.

+1

Antes de entusiasmarse con el uso de Múltiples núcleos, recomiendo leer esto: http://wiki.apache.org/solr/LotsOfCores Básicamente, parece que muchos núcleos funcionarán bien "hasta cierto punto ", pero si planeas tener 10,000 núcleos, las cosas pueden no funcionar. Parece que Solr 4.1 va a tener que trabajar para manejar esto mejor. – ProVega

0

Thaks ok .. no puede usar la memoria caché (inbuild) correctamente y para sus requisitos. agregas un bit de permiso en el que puedes cambiar el querycompoent en el que puedes, debería funcionar correctamente de acuerdo con el permiso ... también hay una operación bit a bit disponible para esto ... utiliza esto para tus necesidades.

Cuestiones relacionadas