Zadejte hledaný výraz...

Form – Script vyhledávání

Dobrý den,
na stránce http://psc.unas.cz využívám vyhledávání, které většinou zadané slovo vezme a vloží do mysql jako LIKE '%slovo%' a hledá se třeba podle názvu obce, psč či názvu pošty.
Problém nastává ve chvíli, kdy člověk hledá třeba "Frydek Mistek" nebo "Frýdek - Místek", příkaz v db nic nenajde. V db je totiž uvedeno "Frýdek-Místek" a dotaz hledá doslovně a s diakritikou. Jak udělat možnost hledání v db s diakritikou, když člověk zadá do formu výraz bez diakritiky?
Stránky jsou v php.
Vašek
5. 5. 2008 15:17:04
https://webtrh.cz/diskuse/form-script-vyhledavani#reply68093
mandark
verified
rating uzivatele
(11 hodnocení)
5. 5. 2008 16:22:15
Pokud jde o mysql, pohraj si s collation...
Nebo můžeš pro názvy měst vytvořit druhý sloupec, kde budeš mít názvy bez diakritiky a všechny znaky, které nejsou písmenem nahradit mezerou, případně i vyházet předložky.
Stejně pak to samé udělat s vyhledávaným výrazem, mezery nahradit %.
Tabulka: Nová ves nad Frýdkem-Místkem -> nova ves frydkem mistkem
Dotaz: Nová ves n. Frýdkem Místkem -> %nova%ves%frydkem%mistkem%
5. 5. 2008 16:22:15
https://webtrh.cz/diskuse/form-script-vyhledavani#reply68092
In-pocasi
verified
rating uzivatele
(20 hodnocení)
5. 5. 2008 18:32:29
A nebylo by lepší použít rovnou fulltextové vyhledávání v databázi?
Viz. http://www.zaachi.com/cs/items/php-mysql-vyhledavani.html
5. 5. 2008 18:32:29
https://webtrh.cz/diskuse/form-script-vyhledavani#reply68091
mandark
verified
rating uzivatele
(11 hodnocení)
5. 5. 2008 18:58:19
Napsal In-počasí;57968
A nebylo by lepší použít rovnou fulltextové vyhledávání v databázi?
bez patřičného nastavení je fulltext pro přesné vyhledávání nevhodný - z indexu zahazuje slova tuším v defaultu kraší než 4(3?) písmena (což jsem vlastně ale taky navrhoval :) ), zahazuje slova s vyšším než x% výskytem...
takže fulltext opravdu jen na vyhledávání v textu ve smyslu např. článků, pro 1-3 slovné názvy je imo nevhodný
5. 5. 2008 18:58:19
https://webtrh.cz/diskuse/form-script-vyhledavani#reply68090
In-pocasi
verified
rating uzivatele
(20 hodnocení)
5. 5. 2008 19:08:36
Názvy obcí mají většinou více než 1 a 3 písmena (kromě Aš). Což je hezky vidět tady - http://www.psc.cz/ (zkus si vyhledat Aš).
Nějaká řešení tohoto problému jsou popsána zde v diskusi http://php.vrana.cz/fulltextove-vyhledavani-v-mysql.php
5. 5. 2008 19:08:36
https://webtrh.cz/diskuse/form-script-vyhledavani#reply68089
mandark
verified
rating uzivatele
(11 hodnocení)
5. 5. 2008 19:31:48
Napsal In-počasí;57993
Nějaká řešení tohoto problému jsou popsána zde v diskusi http://php.vrana.cz/fulltextove-vyhledavani-v-mysql.php
Bohužel právě na webzdarma, kde to má hostováno, si defaultní parametry mysql nepřenastaví. Zajímalo by mě, jak by se fulltext v tomhle případě choval, možná by nakonec byl použitelný (ale za tím, že k tomuhle určen není, si stojím :D)
5. 5. 2008 19:31:48
https://webtrh.cz/diskuse/form-script-vyhledavani#reply68088
Pro odpověď se přihlašte.
Přihlásit