Jump to content
zbeng

Cautare Fulltext booleana cu MySQL

Recommended Posts

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 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, folosit 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 multe inregistrari in baza de date

BYE PRO;)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...