2012-06-12 31 views
5

Wir planen gerade, Solr-Suche nach E-Commerce-Site mit facettierter Katalognavigation auszurollen.Wie man mit relationalen Daten in Solr umgeht

Wir haben ein kleines komplexes Datenschema für das Produkt und sein Spezifikationsattribut, die dynamisch sind.

Wir sind sicherlich nicht in der Lage zu verstehen, wie diese Daten in die Solr zu mappen? Müssen wir zwei Indizes haben, einen für den Produktindex und einen anderen für das Spezifikationsattribut, das dem Produkt oder nur einem einzelnen Schema zugeordnet ist.

Aber wie, jedes Beispiel wird großartig sein.

Antwort

8

Derzeit können Sie nicht über mehrere solr-Indizes hinweg teilnehmen. Es wird Join Funktionalität in Solr 4.0 sein. Dies ermöglicht jedoch das Verbinden von Dokumenten innerhalb eines einzelnen Index.

Das normalisierte Datenbankschema muss abgeflacht werden, bevor es in Solr indiziert wird. Dies ist der Punkt, an dem Sie die meiste Laufzeit gewinnen, da Joins in einer Datenbank teuer sind.

Die Duplizierung einiger Spalten über Produkte und Spezifikationen ist in Ordnung. Mag sein, wenn Sie die einzelnen Attribute und Kardinalität beschreiben können, könnte ich weiter opinieren.

Mein Hintergrund ist, ich habe ein stark normalisiertes Datenbankschema in 3 solr Indizes indiziert. Ich habe einen Kardinalitätstest verwendet und suche nach Anwendungsfällen, um diese Aufteilung einzugrenzen. Zum Beispiel hatte ich Kundenvereinbarungen in einem Index, Agentenvereinbarungen in einem anderen und Beziehungen zwischen Kunden und Agenten in einem anderen. Ich landete auf den wenigsten Indexen, die ich erreichen konnte. Eine Serviceebene integriert die drei Indizes. Wenn Sie hier einen einzigen Index erstellen, wäre er zu umfangreich und zu komplex.

Einer der anderen Ansätze, die Sie versuchen können, ist Suche Solr, und bereichern einzelne Dokumente durch eine Datenbank-Dip. Dies ist mit einigen Kosten verbunden, aber wenn Sie bereits Primärschlüssel in der Solr-Suche aufgelöst haben, werden diese Suchvorgänge nicht so teuer sein.

+0

Ist Solr 4 Produktion bereit? – Krunal

+0

Historisch wurden Solr-Pre-Releases in der Produktion verwendet (uns eingeschlossen). Natürlich hängt es von der Bereitschaft des Unternehmens ab, sich mit Problemen, benötigten Funktionen und der Verfügbarkeit von Programmierern zu befassen, die Fehler beheben können. – user1452132