Przejdź do głównej zawartości

Jak to dziala

Sieve utrzymuje wczesniej zbudowany indeks filtrowalnych wartosci kazdego produktu: kategorii, tagow, atrybutow, ceny, stanu magazynowego, promocji i oceny. Zapytania filtrow czytaja ten indeks zamiast wykonywac wolne live joiny, co utrzymuje dobra wydajnosc duzych katalogow.

Kazdy produkt jest indeksowany dla wszystkich zrodel, niezaleznie od tego, ktore filtry sa aktualnie widoczne. Dlatego dodanie albo usuniecie filtra jest natychmiastowa zmiana ustawien i nie wymaga ponownego indeksowania.

Indeks aktualizuje sie automatycznie, gdy produkt jest tworzony, edytowany, przenoszony do kosza albo usuwany. Po imporcie masowym uzyj Rebuild index na ekranie Sieve.

Gdy klient wybiera wartosci, Sieve wylicza pasujace produkty z indeksu:

  • W jednym filtrze wybrane wartosci sa laczone przez OR. Dwie kategorie pokazuja produkty z jednej albo drugiej.
  • Miedzy filtrami zestawy sa laczone przez AND. Kategoria i zakres ceny pokazuja produkty spelniajace oba warunki.

Kazda wartosc filtra pokazuje liczbe pasujacych produktow. Liczniki sa zalezne, czyli uwzgledniaja pozostale aktywne filtry i pozostaja prawdziwe podczas zawężania wynikow. Wlasny wybor danego filtra jest wykluczony z jego licznikow, wiec opcje nie zapadaja sie do jednej wartosci.

Pierwszy filtr jest renderowany po stronie serwera, a potem ulepszany malym skryptem bez zewnetrznych zaleznosci. Gdy wyniki sie zmieniaja, podmieniane sa tylko potrzebne fragmenty, a wysokosc obszaru wynikow jest rezerwowana na czas zapytania. To ogranicza przesuniecia ukladu i utrzymuje szybka interakcje. Dane wejsciowe sa debounce’owane, a podmiana oddaje czas glownemu watkowi, zeby chronic responsywnosc.