Ogólnie rzecz ujmując nie jest źle, problemy pojawią się przy większej liczbie danych do przeszukania.
1. Ja w takich przypadkach robię w ten sposób, że rozdzielam zapytanie. Najlepiej zrobić w ten sposób, aby w formatce wyszukiwarki znalazło się checkbox'y, określające, które dokładnie dane użytkownik ma znaleźć i potem po stronie PHP to obrobić tak aby tylko te zaznaczone kolumny przeszukiwał. Z doświadczenia wiem, że użytkownik rzadko chce przeszukać wszystko lecz jeśli szuka producenta to zaznacza checkbox `producer`, natomieast jeśli chce znaleźć produkt szuka po `prid`... itd
Jeśli przeszukiwana jest większa liczba kolumn to robię przeszukiwanie kaskadowo, czyli na początek biorę te kolumny które mają statystycznie najmniejszą liczbę znaków do przeszukania, potem wiecej i na końcu te kolumny, które mają największą statystyczną liczbę znaków. U Ciebie zrobiłbym to tak:
SELECT * FROM products WHERE producer LIKE '%{criteria]%' OR abid LIKE '%"{criteria]%' OR prid LIKE '%{criteria]%' OR label LIKE '%{criteria]%'"
2. Czasem i to nie wystarcza, wtedy warto zastanowić się nad kaszowaniem wyników i prowadzeniu statystyk. Np może się okazać, że użytkownicy najcześciej wpisują pełną nazwę producenta (np HP) to warto taki wynik wyszukiwania wrzucić do jakiegoś pliku i potem gdy kolejny użytkownik będzie chciał to znaleźć pobierze wartość się z pliku a nie, poprzez kolejne długie zapytanie, z bazy danych. Oczywiście tu tylko naświetliłem problem, bo skomplikowanie statystyk zależy tylko i wyłącznie od Ciebie.
3. Być może dobrym rozwiązaniem jest skorzystanie już z gotowych mechanizmów odzyskiwania danych. Dość dobrym rozwiązaniem jest
YAZ zapoznaj się z dokumentacją, poszperaj na ten temat w sieci powinieneś być zadowolony
4. Możesz tak zindeksować swoją stronę aby sam google.com pomógł Ci przeszukiwać informacje. Często jest to dobry sposób, jednak w Twoim przypadku mogą być problemy z tego względu że Ty wyszukujesz konkretne dane z bazy danych, a algorytmy googla dobrze działają na same teksty. Dobre byłoby to rozwiązanie, gdybyś na przykład chciał przeszukiwać artykuły na Twojej stronie za pomocą googla, a nie wyszukiwać produkty.
mam nadzieje, że coś naświetliłem
Pozdrawiam