Autor Zpráva
anonymní
Profil *
Jak udělat, aby fulltextové vyhledávání hledalo i bez diakritiky? Pokud zadám slovo trener, tak mi to najde článek kde se vyskytuje slovo trenér, ale když zadám např. Kluz, tak už slovo Kluž nenajde (ve zkratce - čárky fungují ale háčky ne). Děkuji

$sql = "SELECT * FROM clanky 
       WHERE MATCH(nadpis, clanek) AGAINST ('$search' IN BOOLEAN MODE)                   
       ORDER BY 5 * MATCH(nadpis) AGAINST ('$search') + MATCH(clanek) AGAINST ('$search') DESC";
Kajman_
Profil *
Jaké máte porovnání, general? Možná si budete muset ukládat data i do sloupečku s odstraněnou diakritikou.
fuckin
Profil
Ano, na weblogu php.vrana.cz je to krasne popsane.

Staci pouze zmenit kodovani. Jestli mas kodovani nastavene na utf8 czech pak to hleda s diakritikou. Proto musis nastavit utf8 general a bude vyhledavat oboje. Samozrejme podpora ceskych znaku zustane.
ajajaj
Profil
také jsem to nedávno řešil, doporučuji utf8_general_ci - nerozlišuje malá a velká písmena
ajajaj
Profil
jo a ještě si dej do podmínky pokud je řetězec kratší než ft_min_word_len (nejčastěji 3-4) tak to prožeň přes obyč dotaz like "%$řetězec%"
TomášK
Profil
Ten like imho musí projet sekvenčně komplet celou tabulku, z výkonnostního hlediska to bude dost příšerné. Raději bych nastavil kratší ft_min_word_len, pokud je to možné nebo kratší slova ignoroval.
Martin87
Profil *
Porovnání mám nastavené na utf8_czech_ci - to také nerozlišuje malá a velká písmena, ale jak jsem psal nefungují háčky (čárky ano).

fuckin:
Jestli mas kodovani nastavene na utf8 czech pak to hleda s diakritikou. Proto musis nastavit utf8 general a bude vyhledavat oboje.
Myslíš přenastavit porovnání v DB na utf8 general?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: