zbeng Posted October 18, 2006 Report Share Posted October 18, 2006 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 include 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 exactaAGAINST ('"programare php"' IN BOOLEAN MODE) o sa gaseasca inregistrarile cu "programare php"< - creste relevanta cuvintului de cautat> - scade relevanta cuvintului de cautatAGAINST ('<mysql >php' IN BOOLEAN MODE) gaseste inregistrarile cu relevanta pt. 'mysql' si mai putin relevant 'php'~ - negare, folosit pt. cuvinte care trebuie sa lipseasca, insa nu chiar de tot ca la - (cuvintele au relevanta mica)( ) - grup de cuvinteAGAINST ('~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 multe inregistrari in baza de dateBYE PRO;) Quote Link to comment Share on other sites More sharing options...