Paweł Koralewski

Paweł Koralewski architekt aplikacji,
team leader

Temat: [MySQL] wyszukiwanie FTS - zółć/zolc

W tabeli mam kilka pól tekstowych utf8, połączonych w indeksie FTS. Zawartość jest polskojęzyczna. Jak najlepiej zrobić, aby baza zwróciła te same wyniki dla słów z PL-literkami i z ich łacińskimi odpowiednikami (żółć - zolc)?

konto usunięte

Temat: [MySQL] wyszukiwanie FTS - zółć/zolc

replace ale w funkcji po stronie MySQL-a - łatwiej później tym zarządzać

konto usunięte

Temat: [MySQL] wyszukiwanie FTS - zółć/zolc

A dodanie kolumny np: przefiltrowane, bez polskich znaków? np:
oryginalne   | przefiltrowane
zażółciliśmy | zazolcilismy

W taki sposób zrzucamy obciążenie z funkcji mySQL na ilość miejsca na dane.
Co sądzicie o takim rozwiązaniu, czy ma ono jakiś większy sens?
Jakie może mieć plusy i minusy (poza zwiększeniem ilości danych w bazie).

konto usunięte

Temat: [MySQL] wyszukiwanie FTS - zółć/zolc

Sebastian Poddubiuk:
A dodanie kolumny np: przefiltrowane, bez polskich znaków? np:
oryginalne   | przefiltrowane
zażółciliśmy | zazolcilismy

W taki sposób zrzucamy obciążenie z funkcji mySQL na ilość miejsca na dane.

wbrew pozorom funkcje po stronie serwera nie obciążają , no chyba że robisz filtrujesz na wyniku takiej funkcji

Co sądzicie o takim rozwiązaniu, czy ma ono jakiś większy sens?
Jakie może mieć plusy i minusy (poza zwiększeniem ilości danych w bazie).


kolumna spoko, ale trzeba przynajmniej raz odfiltrować polskie znaki - ale to już dowolna metoda czy po stronie MySQL czy po stronie aplikacji w PHP albo innym języku
Paweł Koralewski

Paweł Koralewski architekt aplikacji,
team leader

Temat: [MySQL] wyszukiwanie FTS - zółć/zolc

Przemysław R.:
replace ale w funkcji po stronie MySQL-a - łatwiej później tym zarządzać

Tylko jak zaznaczyłem, wyszukiwanie jest pełnotekstowe. Samodzielnie wymyśliłem kolejną kolumnę bez PL literek, ale może istnieją lepsze rozwiązania.

Temat: [MySQL] wyszukiwanie FTS - zółć/zolc

Sebastian Poddubiuk:
A dodanie kolumny np: przefiltrowane, bez polskich znaków? np:
oryginalne   | przefiltrowane
zażółciliśmy | zazolcilismy

W taki sposób zrzucamy obciążenie z funkcji mySQL na ilość miejsca na dane.
Co sądzicie o takim rozwiązaniu, czy ma ono jakiś większy sens?
Jakie może mieć plusy i minusy (poza zwiększeniem ilości danych w bazie).


A co jeśli ktoś wpisze np. "zażolciliśmy"?
Paweł Koralewski

Paweł Koralewski architekt aplikacji,
team leader

Temat: [MySQL] wyszukiwanie FTS - zółć/zolc

A co jeśli ktoś wpisze np. "zażolciliśmy"?
Do porównania (jako argument do AGAINST) myślałem wstawić tekst wcześniej pozbawiony PL literek przez zewnętrzny skrypt.

konto usunięte

Temat: [MySQL] wyszukiwanie FTS - zółć/zolc

W postgresql pewnie by pomogło: http://www.postgresql.org/docs/8.3/static/textsearch.html
Paweł Koralewski

Paweł Koralewski architekt aplikacji,
team leader

Temat: [MySQL] wyszukiwanie FTS - zółć/zolc

Jakub Purtal:
W postgresql pewnie by pomogło: http://www.postgresql.org/docs/8.3/static/textsearch.html

Niewykluczone, natomiast temat mówi o MySQLu.

konto usunięte

Temat: [MySQL] wyszukiwanie FTS - zółć/zolc

Paweł Sopel:
Sebastian Poddubiuk:
A dodanie kolumny np: przefiltrowane, bez polskich znaków? np:
oryginalne   | przefiltrowane
zażółciliśmy | zazolcilismy

W taki sposób zrzucamy obciążenie z funkcji mySQL na ilość miejsca na dane.
Co sądzicie o takim rozwiązaniu, czy ma ono jakiś większy sens?
Jakie może mieć plusy i minusy (poza zwiększeniem ilości danych w bazie).


A co jeśli ktoś wpisze np. "zażolciliśmy"?
Stanie się to samo co przy funkcji replac z mysql, chyba nikt nie wykorzystuje przeszukiwania włącznie z polskimi znakami.



Wyślij zaproszenie do