Autor | Zpráva | ||
---|---|---|---|
para Profil |
#1 · Zasláno: 4. 1. 2006, 16:32:45
Zdravím, chtěl jsem se zeptat jak by se dala řešit situace nejlépe na úrovni MySql, kdy potřebuju vyhledat např. slovo 'žlutý' zadáním slova 'zluty'. Díky za odpovědi.
|
||
Kajman_ Profil * |
#2 · Zasláno: 4. 1. 2006, 22:45:03
Možná bych si udělal verzi s diakritikou i bez a na obojem fulltextový index, ale možná to jde lépe.
|
||
Martin Profil |
#3 · Zasláno: 5. 1. 2006, 17:08:06
Také by mě zajímalo, jak se to řeší.
|
||
simka00 Profil |
#4 · Zasláno: 5. 1. 2006, 19:05:31
function odstran_diakritiku($text) {
return strtr($text, "áčďéěíňóřšťúůýžÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ", "acdeeinorstuuyzACDEEINORSTUUYZ" ); } $dotaz = "SELECT * FROM tabulka WHERE neco LIKE '%$slovo%' OR neco LIKE '%". odstran_diakritiku($slovo) ."%' "; $vysledek = mysql_query($dotaz); takhle nějak jsem to někdy vyřešil, už si to přesně nepamatuji |
||
Kajman_ Profil * |
#5 · Zasláno: 5. 1. 2006, 20:50:13
Ale rychlost na vetsich datech asi nebyla bleskova, ze?
|
||
Časová prodleva: 4 dny
|
|||
para Profil |
#6 · Zasláno: 9. 1. 2006, 16:56:08 · Upravil/a: para
Díky za odpovědi. Nakonec jsem to vyřešil funkcí, která kombinuje osekání diakritiky a sestavení regexp pro SQL dotaz. Namísto Strtr jsem musel použít funkci Str_Replace, protože Strtr nepodporuje UTF-8, což můj web má. SQLko pro vyhledání slova "test" pak vypada nějak takto:
Funguje to sqele až na to, že když hledám slovo test, najde to i těstoviny :) |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0