Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Jak powstają ilości w nawiasach przy tych parametrach?, Takie coś zajedzie każdy serwer, jak oni to robią w dużych serwisach
kukix
post
Post #1





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Witam.

Ostatnio zastanawiałem się nad budowa takich serwisów jak ceneo lub innych dużych serwisów..

Jak oni wyliczają dla każdego przypadku ilośc produktów dl;a danego parametru?

Proszę wejśc np na link: http://www.ceneo.pl/Telewizory_LCD;017P0-2...7331-277334.htm.

Na wyszukwiarce zaawansowanej są w nawiasach ilości produktów z danym parametrem. Ilośc ta zmienia się jak zaznaczymy jakiś parametr.
Jeżeli by dla każdej opcji wykonac obliczenie ile jest produktów dla takiedo przypadku, to trzeba by wykonac z 50 zapytań na takiej ogromnej bazie przy każdym wyświetleniu serwisu.


Jak oni to ogarniają?

Ktoś kiedyś spotkał się z takim mechanizmem?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Zapytanie wcale nie musiałoby być jakieś strasznie skomplikowane. Załóżmy, że informacje o atrybutach / właściwościach produktu są przechowywane w jakimś tam modelu EAV, czyli że mamy tabelę z kolumnami: product_id, attribute_id, attribute_value_id.
Wyszukując produkty na podstawie kryterium: producent (atrybut): Sony (wartość), przekątna (atrybut): 42", 44" (wartości) musimy pobrać jedynie identyfikatory tych produktów, które w tabeli EAV-u spełniają te kryteria. Relacyjne bazy danych są całkiem dobrze przygotowane do obsługi tego typu zapytań.
Następnie mając już identyfikatory wszystkich znalezionych produktów, pobieramy je wraz z ich wszystkimi atrybutami (czy tam jedynie pewnymi atrybutami - ogólnymi (cena, producent) i powiązanymi z kategorią (przekątna ekranu, kontrast)). Teraz możemy łatwo zliczyć jaki atrybut, z jaką wartością wystąpił ile razy. Pobrane dane można bardzo łatwo zapisać w cache'u na poczet przyszłych wyszukiwań czy kolejnych stron wyników.

Jakoś bardzo obciążające to być wcale nie musi.

Ten post edytował Crozin 7.12.2011, 11:48:24
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 13:52