Dne 29.8.2010 18:05, Lukas Barton napsal(a):
To ale bude desne pomale, nebot se nepouzije index.
Rozumnejsi je pridat sloupec, kde aplikace predpocita hodnotu
bezdiakritiky (lowercase,...) a stejne tak upravit vyhledavaci
retezec.
neni treba sloupec, muzete si nechat pocitat index primo nad
Zdravím, používám hibernate a postgresql a potřeboval bych pořešit
následující věc. Vyzvednutí všech uživatelů, kteří mají v políčku
alias něco, co obsahuje Žluťoučký nebo žluťoučký:
Criteria crit = session.createCriteria(Person.class);
crit.add(Restrictions.ilike('alias', 'žluťoučký',
No asi bych zkusil vytvorit DB ulozenou proceduru, ktera vrati retezec
bez diakritiky, napr. bezd(), pak v SQL by to bylo neco jako:
WHERE lower(bezd(alias)) like lower(...)
a toho lze pak docilit pres sqlRestriction, pripadne
SQLAliasedCriterion
To ale bude desne pomale, nebot se nepouzije index.
Rozumnejsi je pridat sloupec, kde aplikace predpocita hodnotu
bezdiakritiky (lowercase,...) a stejne tak upravit vyhledavaci
retezec.
Dalsi moznost je pouzit k hledani v textu neco jineho nez DB...
Lukas
On 8/29/10, Ondra Medek
Dobrý den,
toto řešení je asi nejefektivnější, ale má jednu velikou nevýhodou a tou
je neflexibilita. Pokud taková databáze poroste a vy se rozhodnete časem
změnit například oddělovaní takto upravených fulltextových dat, tak
můžete narazit na dost veliké potíže. Z tohoto důvodu jsem například