2012-06-12 23 views
5

Teraz planujemy wprowadzić Solr na stronę e-commerce z fasetową nawigacją katalogową.Jak radzić sobie z danymi relacyjnymi w Solr

Mamy mały złożony schemat danych produktu i jego atrybut specyfikacji, które są dynamiczne.

Z pewnością nie jesteśmy w stanie zrozumieć, jak zmapować te dane do Solr? Czy musimy mieć dwa indeksy, jeden dla indeksu produktu i drugi dla atrybutu specyfikacji, który jest mapowany z produktem lub tylko z jednym schematem.

Ale jak, każdy przykład będzie świetny.

Odpowiedz

8

Obecnie nie można łączyć wielu indeksów solr. W Solr 4.0 będzie dostępna funkcjonalność Join. Umożliwi to jednak łączenie dokumentów w ramach pojedynczego indeksu.

Znormalizowany schemat bazy danych musi zostać spłaszczony przed zaindeksowaniem go w Solr. Jest to w rzeczywistości miejsce, w którym uzyskasz większą wydajność, ponieważ połączenia w bazie danych są drogie.

Powielanie niektórych kolumn w produktach i specyfikacjach jest w porządku. Być może, jeśli potrafisz opisać poszczególne atrybuty i liczebność, mógłbym o tym powiedzieć dalej.

Moje tło polega na tym, że zaindeksowałem mocno znormalizowany schemat bazy danych w 3 indeksach solr. Użyłem testu liczności i przeszukuję obszary zastosowań, aby zawęzić ten podział. Na przykład miałem umowy z klientami w jednym indeksie, umowy agencyjne w innym, a relacje między klientami i agentami w innym. Wylądowałem na najmniejszej liczbie indeksów, jakie mogłem dostać. Warstwa usługi integruje trzy indeksy. Stworzenie tutaj pojedynczego indeksu spowodowałoby, że byłby on zbyt duży i skomplikowany w utrzymaniu.

Jednym z innych podejść, jakie można wypróbować, jest wyszukiwanie solr i wzbogacanie poszczególnych dokumentów przez spadek bazy danych. Jest to trochę kosztowne, ale jeśli już rozwiązałeś klucze podstawowe w wyszukiwaniu solr, to te wyszukiwania nie będą tak drogie.

+0

Czy produkcja Solr 4 jest gotowa? – Krunal

+0

Historycznie premierowe wersje Solr zostały użyte w produkcji (włącznie z nami). Oczywiście zależy to od apetytu firmy na rozwiązywanie problemów, potrzebnego zestawu funkcji i dostępności programistów, którzy mogą naprawić błędy solr itp. – user1452132