2012-03-26 4 views
0

Ich bin neu bei Solr und versuche herauszufinden, wie wir unsere Kataloge am besten indizieren und durchsuchen können.Mehrere Indexorte Solr

Wir müssen mehrere Hersteller indexieren und jeder Hersteller hat einen anderen Katalog pro Land. Jeder Katalog für jeden Hersteller pro Land umfasst etwa 8 GB Daten.

Ich dachte, es könnte einfacher sein, einen Index pro Hersteller pro Land zu haben und Solr in der URL zu sagen, aus welchem ​​Index gesucht werden soll.

Ist das der beste Weg, dies zu tun? Wenn ja, wie würde ich es tun? Wo soll ich anfangen zu suchen? Wenn nicht, was wäre der beste Weg?

Ich bin mit Solr 3.5

Antwort

3

Im Allgemeinen gibt es zwei Möglichkeiten, dies zu lösen:

  1. Split jeden Katalog in seinen eigenen Kern, einen großen Multi-Core-Setup ausgeführt wird. Dadurch bleiben die einzelnen Indizes physisch voneinander getrennt und Sie können für jeden Kern verschiedene Eigenschaften (Sprache usw.) und Konfigurationen verwenden. Dies ist zwar praktisch, erfordert jedoch einen erheblichen Mehraufwand, wenn Sie gleichzeitig den gesamten Core durchsuchen möchten. Es wird einfach sein, die verschiedenen Cores später auf verschiedenen Servern laufen zu lassen - einfach die Cores auf einem anderen Server aufspielen.

  2. Alles in einem einzigen Kern ausführen - Wenn alle Attribute und Eigenschaften der verschiedenen Kataloge übereinstimmen, fügen Sie zwei Felder hinzu - eines mit dem Hersteller und eines mit dem Land. Filtern Sie diese Werte, wenn Sie die Treffer auf ein bestimmtes Land oder einen bestimmten Hersteller beschränken müssen. So können Sie problemlos den gesamten Index durchsuchen, und die Skalierbarkeit kann durch Replikation oder etwas wie SolrCloud (in Version 4.0) implementiert werden. Wenn Sie Unterstützung in mehreren Sprachen benötigen, benötigen Sie für jede Sprache ein Feld mit den Einstellungen, die Sie für diese Sprache benötigen (z. B. Stemming).

Es gibt ein paar Leckerbissen der Informationen dazu auf der Solr Wiki, aber mein Vorschlag ist einfach eine der Methoden, um zu versuchen und sehen, ob das Ihr Problem löst. Der Wechsel zur anderen Lösung sollte nicht zu viel Arbeit sein. Die einfachste Implementierung besteht darin, alles im selben Index zu halten.

+0

Dies hilft viel, danke. Nummer 2 scheint für meine Situation am besten zu sein. – stirling