2012-06-12 22 views
5

Estamos planeando lanzar la búsqueda de Solr para el sitio de comercio electrónico con navegación por catálogo facetado.Cómo tratar los datos relacionales en Solr

Estamos teniendo un pequeño esquema de datos complejo para el producto y su atributo de especificación que son dinámicos.

Ciertamente no podemos entender cómo mapear estos datos en Solr? ¿Necesitamos tener dos índices, uno para el índice del producto y otro para el atributo de especificación que se correlaciona con el producto o solo el esquema individual.

Pero, cómo, cualquier ejemplo será genial.

Respuesta

8

Actualmente no se puede unir entre varios índices de solr. Habrá funcionalidad Join en Solr 4.0. Sin embargo, esto permitirá unir documentos dentro de un índice individual.

El esquema de base de datos normalizado debe aplanarse antes de indexarlo en Solr. De hecho, es donde obtendrá la mayor ganancia de rendimiento en tiempo de ejecución, ya que las uniones en una base de datos son costosas.

La duplicación de algunas de las columnas en Productos y especificaciones está bien. Puede ser si puedes describir los atributos individuales y la cardinalidad, podría opinar más.

Mi experiencia es que he indexado un esquema de base de datos muy normalizado en 3 índices de solr. Utilicé una prueba de cardinalidad y utilicé búsquedas para reducir esta división. Por ejemplo, tenía acuerdos de clientes en un índice, acuerdos de agentes en otro y relaciones entre clientes y agentes en otro. Aterricé con el menor número de índices que pude obtener. Un nivel de servicio integra los tres índices. Crear un solo índice aquí lo habría hecho demasiado grande y complejo de mantener.

Uno de los otros enfoques que puede probar es buscar solr y enriquecer los documentos individuales por una inmersión de base de datos. Esto tiene algún costo, pero si ya resolvió las claves principales en la búsqueda de Solr, estas búsquedas no serán tan costosas.

+0

¿Está lista la producción de Solr 4? – Krunal

+0

Históricamente, las versiones previas de Solr se han utilizado en producción (incluidos nosotros). Por supuesto, depende del apetito de la compañía por tratar con los problemas, el conjunto de características necesarias y la disponibilidad de programadores que puedan solucionar errores de soltería, etc. – user1452132

Cuestiones relacionadas