Cum să pună în aplicare căutare fațetat

1. Ia caracteristicile mărfurilor care pot participa la câștig pentru fiecare filtru valori caracteristice ale tuturor opțiunilor pentru bunurile eșantionului.
2. derivarea unei valori formă filtru grupate în funcție de caracteristicile INPUT-checkbox.
3. Utilizatorul pune gaia, trimite formularul.
4. formează un criteriu pentru selectarea din baza de date bazat pe interogarea.
5. Mergeți la pasul 1.

Pentru a accelera: index, cache, Sphinx

Oh, și Sfinxul și a fost de gând să utilizeze. Există chiar și o decizie de căutare Ajax-fațete are o pagină demo. Se pare că indicii vor fi necesare în acest caz, chiar și pentru Sfinxul? Și despre cache. Ce este memoria cache? Fiecare eșantion unic pentru fiecare combinație de filtre? Ele sunt, de fapt, al naibii de munte.

Da, un indice de sfinx va lucra foarte repede. Cache valori de atribute pentru fiecare set de parametri de intrare, cel puțin nu trebuie să recalculeze pentru paginație, cache-ul poate fi limitată de viață, în câteva minute.

Avem nevoie de un anumit mod de a proiecta o bază de date pentru utilizarea fatetate de căutare? Există o dorință de a utiliza o bază de date normalizat. În cazul în care este necesar Denormalizați va fi mai ușor decât baza de date cu denormalized de plumb într-o vizualizare normalizat.