Z kolega z ktorym to robie wymyslilem taki system:
tagi idą do tabeli bazy danych
| ID Taga : int/guid | tag name : string |
w momencie gdy ktos podaje mi tag stringa czyli tagi oddzielone przecinkami są one rozbijane, skrypt sprawdza czy wszystkie tagi sa juz w bazie, jesli ktoregos nie ma to dodaje go, i nastepnie w drugiej tabelce
| ID artykulu | ID taga |
zapisuje te tagi ktore odnosza sie do danego artykulu.
teraz sytuacja, ktos wpisuje np tag gospodarka.
zastanawiam sie jak poprawic jakosc wyszukiwania. Na pewno wszystkie tagi przy porownaniach bede konwertowal do lowercase, byc moze wycinal z nich polskie znaki zeby nie wychodzily smieszne sytuacje ze tag "gość" zwroci mi inny wynik niz tag "gosc", tak sie jeszcze zastanawiam nad roznymi formami slow w języku polskich.
moze jesli wyraz jest dluzszy niz np 7 znaków, obciąć z niego 2 ostatnie do wyszukiwania tj
np z wyrazu "masakra" do wyszukiwania wyciąć "masak" i wyszukac jako regexp /^masak(.*?)?/, lub w bardziej swojskiej formie masak*. Dzieki temu znalazloby mi rowniez wyniki dla masakra, masakry, masakrze itd.
A wy jak podeszlibyscie do tego tematu?
slowko bez skojarzen, tak mi sie nawinelo po prostu
