Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]Wyszukiwanie z pominięciem znaków interpunkcyjnych
Forum PHP.pl > Forum > Przedszkole
miniol
Witam,
Mam małą zagwozdkę. Otóż staram się zrobić prostą wyszukiwarkę, jednak natrafiłem na przeszkodę ze znakami interpunkcyjnymi.

Do wyszukiwania służy mi %LIKE%

Niestety jeśli ktoś chce wyszukać w bazie np: "Dinozaury kolorowanka", a w bazie mam "Dinozaury. Kolorowanka" to już nie wyłapuje mi tego. Jak się domyślam, problemem jest to, że pomiędzy słowami jest kropka, której użytkownik nie wpisał. Czy ktoś wie jak to poprawić?

Próbowałem zmienić bazę z InnoDB na MyISAM i zrobić fulltext indexy, ale to nic nie pomogło.
Zako
Pokaz nam jak zbudowane jest Twoje zapytanie.
johny_s
szukaj pojedynczych wyrazow a nei zwrotow
miniol
Zrzut bazy:


  1. CREATE TABLE IF NOT EXISTS `products` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `nazwa` varchar(255) NOT NULL,
  4. `ean` varchar(13) NOT NULL,
  5. PRIMARY KEY (`id`),
  6. UNIQUE KEY `ean` (`ean`),
  7. FULLTEXT KEY `nazwa` (`nazwa`)
  8. )
  9. ENGINE=MyISAM
  10. DEFAULT CHARSET=utf8
  11. AUTO_INCREMENT=19811 ;



johny_s, właśnie myślałem nad tym, ale miałem nadzieję, że w MySQL jest jakaś taka funkcja i nie będzie potrzeby rozbijać szukanej frazy na słowa.
Ale jeśli będę rozbijał frazę na słowa i stosował %LIKE% to przy kilku słowach chyba będzie mi katowało serwer co?
johny_s
jesli planujesz duzo obciazenie to uzyj czegos innego np. sphinx solr
miniol
W sumie częstość zapytania powinna być niewielka, bo będzie z tej wyszukiwarki korzystało 10 osób, więc chyba się zdecyduję na szukanie słów.

Temat wyczerpany smile.gif

Dzięki!
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.