Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1225 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Faire une recherche sur un champ avec une certaine tolérance

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Faire une recherche sur un champ avec une certaine tolérance

n°322841
Snipe Foo
Head Shot !!!
Posté le 04-03-2003 à 19:06:03  profilanswer
 

Bonjour,
 
   J'aimerias savoir s'il est possible, en sql directement ou en faisant plusieurs requetes d'affiler, de faire un select sur un champ mais avec une certaine tolérrance , exemple :
 
une recherche avec comme critere : "toto" renverra aussi les réponses correspondant à : "totu", "tato" voir "tata" ...
 
Ma question n'est pas tres claire... je sais :D

mood
Publicité
Posté le 04-03-2003 à 19:06:03  profilanswer
 

n°322885
arghbis
salops de dauphins
Posté le 04-03-2003 à 20:22:50  profilanswer
 

regardes du côté de la fonction "like" et des expressions régulières, dans le SGBD que tu utilise.

n°322962
MagicBuzz
Posté le 04-03-2003 à 21:30:15  profilanswer
 

Cela dépends des SGBD.
 
Bon, pour tous, y'a le "like" avec les expressions régulières associées, mais c'est pas terrible.
 
Pour Oracle, tu as la fonction "SOUNDEX" qui permet de rechercher des mots qui se prononcent pareil que la valeur passée en paramètre (avec une reconnaissance phonétique basée sur l'anglais uniquement)
 
Pour SQL Server, tu peux te baser sur Index Server, qui te permet de faire des recherches sur des mots du même champ lexical, de la même famille, ou dont le nombre de caractères identiques est assez important.
 
MySQL supporte depuis peu un équivalent à Index Server.

n°322966
MagicBuzz
Posté le 04-03-2003 à 21:35:35  profilanswer
 

Par contre, ces différentes façons de faire des recherches sont très gourmandes.
 
Le LIKE est à proscrire pour des volumes de données importants, car c'est vraiment TRES lent.
 
Le SOUNDEX, je sais pas ce que ça donne, mais à priori, ça doit être assez rapide (faut le dire vite)
 
Les recherches basées sur Index Server ou l'équivalent de MySQL sont plus rapides, car se basent sur des indexes de mots et des dictionnaires qui ne sont pas générés au moment de la requête, mais par schédule. Par contre, la montée en charge est assez fables, à l'image des recommendations de M$ pour faire tourner un Index Server sous MSSQL (un quadri-processeur avec 512 Mo de RAM par CPU plus une chaine de disques en RAID 50 est conseillée notamment :D)
 
M'enfin bon, pour le coup de la roco de M$, c'est un peu large je crois, j'ai jamais eu de problème sur mon serveur, il suffit qu'il n'y ait pas 50000 ploucs qui font des requêtes en même temps ;) Et une dizaine de requêtes à la seconde sur mon bi-CPU avec 1 Go de RAM à l'époque et une table indexée de 300 Mo ne bouffait que 10% du CPU, avec aucun accès disque...

n°323024
HappyHarry
Posté le 04-03-2003 à 23:21:31  profilanswer
 

juste pour dire que sql server dispose aussi de la fonction soundex

n°323481
Snipe Foo
Head Shot !!!
Posté le 05-03-2003 à 14:09:24  profilanswer
 

merci pour l'info sur index-server, il y a des chance que j'utilise MySQL...
 
Au départ je pensait utiliser le "LIKE" mais il me faut un algo pour placer judicieusement les ? ou autre * dans l'expression a rechercher.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Faire une recherche sur un champ avec une certaine tolérance

 

Sujets relatifs
[master des CSS] recherché urgent :)[VBA-Access] Modifier le contenu d'un champ sans message
[vba + Access] copier un champ vers un autre[C++] tronquer un fichier à une certaine taille
[JAVA] - Tester la non nullité d'un champ - Besoin Aide 1 min maxi !Recherche d'un fonction semblable à eregi_replace()
[word] modifier un champ par rapport à une liste déroulante[Visual Studio C++] recherche code pour la comparaison de 2 images
[vb] Taille max d un champ texterecherche d'un script
Plus de sujets relatifs à : Faire une recherche sur un champ avec une certaine tolérance


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR