Autor Zpráva
kohl
Profil
Dobrý den,
používám fulltext v mysql a potřebuji vyřešit překlepy a skloňování.

Skloňování mě napadlo udělat takhle:
$slova = "životopis indické indická česká rudým měsícem";
        
$slova=get_ascii($slova); //převedu na text bez diakritiky
$slova=strtolower($slova);
echo preg_replace('/((ech|icek|a|e|ou|icke|icka|icek|em|ym)\s+|\s+)/', "* ", $slova." "); 
//výstup je: zivotopis* ind* ind* cesk* rud* mesic* 
Ale asi to není moc dobrý. Nevíte o nějakém lepším řešení?

Na překlepy mě nic nenapadlo.


Mockrát děkuji za rady.
Jan Tvrdík
Profil
kohl:
Nevíte o nějakém lepším řešení?
Ano, jmenuje se ElasticSearch.


Případně viz také cs.wikipedia.org/wiki/Stemming a cs.wikipedia.org/wiki/Lemmatizátor a příklad implementace.

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: