In articolul anterior am prezentat cautarea fulltext simpla in cimpuri text sau varchar cu MySQL. Insa MySQL ofera niste facilitati mai avansate de cautare fulltext permitind operatori booleani. Adica sa fie conține anumite cuvinte sau excluse altele sau cautari partiale sau alte combinatii.
Aceasta cautare se precizeaza cu 'IN BOOLEAN MODE'.
De exemplu:
SELECT * FROM articles WHERE MATCH(title, body) AGAINST('+cuvint_de_gasit -cuvint_lipsa' IN BOOLEAN MODE);
In acest caz inregistrarile trebuie sa contina 'cuvint_de_gasit' insa sa nu fie prezent 'cuvint_lipsa'.
Lista operatorilor acceptati:
+ - cuvintul trebuie sa fie prezent
- - cuvintul trebuie sa lipseasca
* - cautare partiala:
AGAINST ('num*' IN BOOLEAN MODE) o sa gaseasca cele care contin 'nume', 'numit', 'numitor', etc.
"" - cautare exacta
AGAINST ('"programare php"' IN BOOLEAN MODE) o sa gaseasca inregistrarile cu "programare php"
< - creste relevanta cuvintului de cautat
> - scade relevanta cuvintului de cautat
AGAINST ('<mysql >php' IN BOOLEAN MODE) gaseste inregistrarile cu relevanta pt. 'mysql' si mai putin relevant 'php'
~ - negare, întrebuințat pt. cuvinte care trebuie sa lipseasca, insa nu chiar de tot ca la - (cuvintele au relevanta mica)
( ) - grup de cuvinte
AGAINST ('~mysql +(programare php)' IN BOOLEAN MODE) gaseste inregistrarile care nu contin relevant 'mysql' dar contin 'programare' si 'php'
Combinate impreuna acesti operatori pot duce la cautari inteligente in bazele de date mai ales cind e vorba de numeroase inregistrari in baza de date.
Nu puteti crea un subiect nou in acest forum Nu puteti raspunde in subiectele acestui forum Nu puteti modifica mesajele proprii din acest forum Nu puteti sterge mesajele proprii din acest forum Nu puteti vota in chestionarele din acest forum
Ora este GMT + 3 ore
Pagina 1 din 1
Fa-ti si tu propriul forum GRATUIT, pe www.myforum.ro