Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Wyszukiwarka w sklepie - frazy podobne
Forum PHP.pl > Forum > Przedszkole
denis95x
Cześć!

nie mam pomysłu na udoskonalenie wyszukiwarki w sklepie www.

Problem jest taki, aby wyszukiwała w podobnych frazach w MYSQL.

np. (tak dla przykładu):
1. jeśli ktoś wpisze "piłki" -> to żeby pokazało wszystko co ma w nazwie piłka, piłeczka
2. jeśli ktoś wpisze "brelok" -> ... w nazwie brelok, breloczek
3. jeśli ktoś wpisze "długopisy" -> ... w nazwie długopis

Jest jakiś sposób na to? Ktoś jakiś pomysł ? Jakikolwiek ? smile.gif
Pyton_000
Elasicsearch. Sam mysql się nie nadaje do tego.
denis95x
Nie ma prostszego rozwiązania? biggrin.gif

Jakoś porównywać frazę? Zbudować własny słownik?
Pyton_000
tak, jeśli zbudujesz słownik to tak. ale musiałbyś stowrzuć tabelę która będzie miała połączenia slów każdy z każdym np:

dom => domek, domeczek, domunio (3 wiersze w tabeli)
domek => dom, domeczek, domunio (kolejne 3)

itd.

levenstein i sounds like w mysql nie sprawdzają się dla polskiego a przynajmniej nie w tym przypadku.
denis95x
Ok, to ja już zrobię sobie taki słownik - jak to potem połączyć z tabelą produktów ?

Aby wyszukiwało po danych słowach ?

Widzę to tak:

Ktoś wpisuje: "breloczek"
w słowniku sprawdza i dopasowuje słowa "brelok" i "breloczek"

Jak to połączyć teraz aby z tabeli products wyświetliło rekordy gdzie w nazwie znajdują się te slowa.

Coś takiego?
  1. products.nazwa LIKE '$slowo_ze_slownika%'
Pyton_000
możesz zrobić tak że przy zapisywaniu produktu w oddzielnej tabeli zrobić połączenie product_id - word_id
i wtedy przy wyszukiwaniu sprawdzać słowa zrobić join i masz produkty smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.