Booléens de recherches en texte plein
<<<
Recheche en texte plein avec extension de requête Restrictions avec full-text
>>>

13.6 Recherche en Texte-entier (Full-text) dans MySQL
13 Fonctions à utiliser dans les clauses SELECT et WHERE
 Manuel de Référence MySQL 4.1 : Version Française

Booléens de recherches en texte plein
->Recheche en texte plein avec extension de requête
Restrictions avec full-text
Paramétrage précis de la recherche Full-text de MySQL
A faire dans la recherche Full-text

13.6.2 Recheche en texte plein avec extension de requête

Depuis la version 4.1.1, la recherche en texte plein supporte l'extension de requête (en particulier la variable dite ``extension aveugle''). C'est généralement utile lorsque la phrase de recherche est trop courte, ce qui signifie que l'utilisateur sous-entend des informations. Par exemple, un utilisateur qui recherche ``database'' peut en fait rechercher ``MySQL'', ``Oracle'', ``DB2'' ou encore ``RDBMS'' : ce sont des solutions qui doivent être liées à ``databases'' et être retournée. C'est de l'information implicite.

L'extension de requête aveugle (dite aussi, pertinence automatique), fonctionne en faisant la même recherche 2 fois : la seconde fois, la recherche est complétée avec les mots les plus fréquents des premiers résultats. Par conséquent, si un de ces document contenait ``databases'' et ``MySQL'', la seconde recherche va rechercher les documents qui contiennent ``MySQL'' mais pas ``database''. L'exemple suivant illustre la différence :


mysql> SELECT * FROM articles
    -> WHERE MATCH (title,body) AGAINST ('database');
+----+-------------------+------------------------------------------+
| id | title             | body                                     |
+----+-------------------+------------------------------------------+
|  5 | MySQL vs. YourSQL | In the following database comparison ... |
|  1 | MySQL Tutorial    | DBMS stands for DataBase ...             |
+----+-------------------+------------------------------------------+
2 rows in set (0.00 sec)

mysql> SELECT * FROM articles
    -> WHERE MATCH (title,body)
    -> AGAINST ('database' WITH QUERY EXPANSION);
+----+-------------------+------------------------------------------+
| id | title             | body                                     |
+----+-------------------+------------------------------------------+
|  1 | MySQL Tutorial    | DBMS stands for DataBase ...             |
|  5 | MySQL vs. YourSQL | In the following database comparison ... |
|  3 | Optimizing MySQL  | In this tutorial we will show ...        |
+----+-------------------+------------------------------------------+
3 rows in set (0.00 sec)
Un autre exemple est la recherche de livres de Georges Simenon, de la série Maigret, alors que l'utilisateur ne sais pas trop comment écrire ``Maigret''. Alors que la recherche de ``Megre and the reluctant witnesses'' ne conduit qu'à ``Maigret and the Reluctant Witnesses'' sans l'extension aveugle, la version avec extension aveugle va sortir la collection complète des livres avec le mot ``Maigret''.

Note : comme l'extension aveugle augmente le niveau de bruit, en retournant des documents sans rapport, elle n'est utile que si la phrase de recherche est courte.

<< Recheche en texte plein avec extension de requête >>
Booléens de recherches en texte plein Recherche en Texte-entier (Full-text) dans MySQL Restrictions avec full-text