Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: Pertinence de recherche fulltext

2 views
Skip to first unread message

Pascale

unread,
Jan 24, 2012, 3:33:13 AM1/24/12
to
Olivier Masson <sis...@laposte.net> écrivait
news:4f1d3034$0$2536$ba4a...@reader.news.orange.fr:

> Je te suggère surtout d'aller voir ce qui s'y connaissent davantage, sur
> le bon forum (f.c.a.sgbd).
> Suivi donc sur ce forum.

Merci à tous les deux (honte à moi, je ne connaissais même pas fcasgbd).

En cherchant ici et là, je suis arrivée à quelque chose qui donne un
résultat semble-t-il correct, suffisant pour ce que je veux faire :

http://www.la-grille-verte.net/kekcestruc/kekmenu.php

Je vérifie le nombre de mots entrés, et je regarde si la personne a choisi
de rechercher tous les termes ou au moins un.
Ensuite, le select est écrit comme ça :

$sel = "SELECT numfiche,nom,etat, MATCH (nom) AGAINST ('$rech') AS score
FROM matable WHERE MATCH (nom) AGAINST ('$rech' IN BOOLEAN MODE) HAVING
score > 1 ORDER BY score DESC";

Le score est calculé d'après une recherche en langage naturel, alors que la
recherche elle-même est effectuée en mode booléen. À l'usage, et sur une
table comme celle que j'ai, ça va plutôt pas mal.

Merci de m'avoir fait découvrir la recherche fulltext, c'est un outil très
utile !

--
Pascale
http://www.la-grille-verte.net

Olivier Masson

unread,
Jan 24, 2012, 4:37:37 AM1/24/12
to
Le 24/01/2012 09:33, Pascale a écrit :

> Merci à tous les deux (honte à moi, je ne connaissais même pas fcasgbd).
>
> En cherchant ici et là, je suis arrivée à quelque chose qui donne un
> résultat semble-t-il correct, suffisant pour ce que je veux faire :
>
> http://www.la-grille-verte.net/kekcestruc/kekmenu.php
>
> Je vérifie le nombre de mots entrés, et je regarde si la personne a choisi
> de rechercher tous les termes ou au moins un.
> Ensuite, le select est écrit comme ça :
>
> $sel = "SELECT numfiche,nom,etat, MATCH (nom) AGAINST ('$rech') AS score
> FROM matable WHERE MATCH (nom) AGAINST ('$rech' IN BOOLEAN MODE) HAVING
> score> 1 ORDER BY score DESC";
>
> Le score est calculé d'après une recherche en langage naturel, alors que la
> recherche elle-même est effectuée en mode booléen. À l'usage, et sur une
> table comme celle que j'ai, ça va plutôt pas mal.
>
> Merci de m'avoir fait découvrir la recherche fulltext, c'est un outil très
> utile !
>

Ben tu t'es bien débrouillée, ça semble fonctionner comme il faut.
Même si je n'ai pas trouvé la dracaena compacta qui orne mon bureau :)
(bon, elle ressemble bcp à la Dracaena deremensis)

Pascale

unread,
Jan 24, 2012, 6:33:30 AM1/24/12
to
Olivier Masson <sis...@laposte.net> écrivait
news:4f1e7bec$0$5670$ba4a...@reader.news.orange.fr:

> Ben tu t'es bien débrouillée, ça semble fonctionner comme il faut.
> Même si je n'ai pas trouvé la dracaena compacta qui orne mon bureau :)
> (bon, elle ressemble bcp à la Dracaena deremensis)

Passe une demande ! (-:

--
Pascale
http://www.la-grille-verte.net

SQLpro

unread,
Jan 29, 2012, 1:50:22 PM1/29/12
to
Le 24/01/2012 09:33, Pascale a écrit :
[...]
> Merci de m'avoir fait découvrir la recherche fulltext, c'est un outil très
> utile !
>

Oui, mais pauvre et mal foutu avec MySQL comparé à ce que la norme SQL
impose et ce que fait la concurrence !!! Par exemple la recherche sans
tenir compte des accents est impossible...

À lire :
http://blog.developpez.com/sqlpro/p9344/langage-sql-norme/indexation-textuelle-full-text-search-no/

A +


--
Frédéric BROUARD - expert SGBDR et SQL - MVP SQL Server - 06 11 86 40 66
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Enseignant Arts & Métiers PACA, ISEN Toulon et CESI/EXIA Aix en Provence
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************

helios

unread,
Jan 30, 2012, 12:45:18 AM1/30/12
to
SQLpro a écrit :
> Le 24/01/2012 09:33, Pascale a écrit :
> [...]
>> Merci de m'avoir fait découvrir la recherche fulltext, c'est un outil
>> très
>> utile !
>>
>
> Oui, mais pauvre et mal foutu avec MySQL comparé à ce que la norme SQL
> impose et ce que fait la concurrence !!! Par exemple la recherche sans
> tenir compte des accents est impossible...
>
> À lire :
> http://blog.developpez.com/sqlpro/p9344/langage-sql-norme/indexation-textuelle-full-text-search-no/
>
>
> A +
>
>
Oui, mais pauvre et mal foutu avec un SGBD MV comparé à ce que la norme
MV impose et ce que fait la concurrence !!!

Pascale

unread,
Jan 30, 2012, 3:30:59 AM1/30/12
to
SQLpro <brou...@club-internet.fr> écrivait
news:4f2594ef$0$4209$426a...@news.free.fr:

> Oui, mais pauvre et mal foutu avec MySQL comparé à ce que la norme SQL
> impose et ce que fait la concurrence !!! Par exemple la recherche sans
> tenir compte des accents est impossible...

J'ai peu d'accents dans mes données (pas d'accents en latin), mais il y en
a quand même quelques uns car les noms vernaculaires sont parfois précisés.

- Chene et chêne donnent le même résultat ;
- idem pour amere et amère ;
- idem pour judee et Judée :
etc.

Donc pour moi, pas de problème.

--
Pascale
http://www.la-grille-verte.net

Pascale

unread,
Jan 30, 2012, 3:35:41 AM1/30/12
to
Pascale <chaton.t...@alussinan.org> écrivait
news:XnF9FEA60CEF...@alussinan.org:

> Donc pour moi, pas de problème.

Je dis quand même une bêtise : ça marche parce que j'ai mis dans mon code :

$nbmots =
str_word_count($rech,0,'çœæàáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚ
ÛÜÝ');

Mon hébergeur propose aussi PostgreSQL en plus de MySQL, je ne sais pas si
c'est mieux ? MySQL est déjà bien assez compliqué pour moi...

--
Pascale
http://www.la-grille-verte.net
0 new messages