Autor Zpráva
Seki
Profil
Zdravím, v MySQL databázi potřebuji vyhledávat jestli text nebo nadpis obsahuje hledané slovo.

Začínal jsem s něčím takovýmto:
SELECT * FROM articles WHERE title LIKE '%slova%' OR text REGEXP '%slova%'
s tím, že všechny mezery ve vyhledávaném retězci jsou nahrazeny %.

Naneštěstí, jsem našel několik chyb, přes které bohužel nejede zatím vlak.
Když mám v textu slovo železobetonový a hledám dle slova nový, tak se mi ve výsledcích zobrazí i tento text. Proto jsem šáhnul po funkci REGEXP, kterou ale stále nedokážu vyladit.

Moje aktuální verze - potřebuji, aby to vrátilo články, které obsahují samostatně stojící slovo "nový", nebo slovo, které začíná na "nový" :
SELECT * FROM `articles` where text REGEXP '.*nový'
Kajman
Profil
SELECT * FROM `articles` where text REGEXP '[[:<:]]nový'

Mrkněte se i na fulltextové vyhledávání (nejlépe s vytvořeným indexem), třeba budou výsledky lepší a rychlejší.

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:

0