begin process at 2012 02 14 21:24:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Recherche par SQL ou par algo PHP ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Recherche par SQL ou par algo PHP ?

jeudi 2 août 2007 à 17:27:16 | Recherche par SQL ou par algo PHP ?

MadM@tt

Membre Club
Bonjour à tous,

Une petite question : avec la complexification de ma base de données, est-ce que je peux envisager, plutot que d'effectuer des recherche en utilisant des requetes SQL avec des mots clés comme "LIKE" etc.., d'utiliser à la place un algorithme PHP. ça me permettrait de pouvoir faire une recherche bien plus puissante, précise et évolutive.
La ou je me pose des questions, c'est est-ce que ça sera assez rapide ? (de parcourir tous les éléments de la BDD, jusqu'à 1000 environ on va dire) est-ce que ça va pas ralentir le serveur, manger trop de CPU ??
Je me demande comment font les "gros" sites, soient ils programment leurs algo de recherche en PHP (ou autre) soit ils ont des requetes SQL de malade lol (ce qui doit aussi ralentir les recherche d'ailleurs)

Merci pour vos réponses

- MadMatt -
Vb System Library

www.choisir-une-entreprise.com

jeudi 2 août 2007 à 17:43:12 | Re : Recherche par SQL ou par algo PHP ?

Evangun

Hello,

tu penses à récupérer toute ta base et SQL et travailler dessus en php ?
Ce que je peux déjà dire c'est que les hébergeurs qui ont la BDD sur un autre serveur que le script ne vont pas apprécier...
Pour le reste je ne sais pas, mais ça m'intéresse aussi
jeudi 2 août 2007 à 17:46:44 | Re : Recherche par SQL ou par algo PHP ?

MadM@tt

Membre Club
Ben la BDD est bien hébergée sur un autre serveur (je pense, sauf erreur de ma part).

Ce que je veux dire, c'est faire la recherche en script PHP plutot qu'en requete SQL. Par exemple en SQL on va faire "WHERE Champ1 LIKE %texte à rechercher%" alors que la je récupère tous les champs de la BDD (ou je peux faire une petite présélection à la limite avec quelques clauses WHERE), et puis en PHP je fais un algorithme qui va trier les résultats correspondants à ma recherche (en utilisant des fonctions de PHP quoi.

- MadMatt -
Vb System Library

jeudi 2 août 2007 à 17:54:07 | Re : Recherche par SQL ou par algo PHP ?

malalam

Administrateur CodeS-SourceS
Réponse acceptée !
Hello,

tu devrais jeter un oeil aux index FULLTEXT.
http://dev.mysql.com/doc/refman/5.0/fr/fulltext-search.html si tu es sur mysql.


jeudi 2 août 2007 à 18:00:43 | Re : Recherche par SQL ou par algo PHP ?

J_G

Salut,

Sous la pression de mes clients, j'ai du refaire une methode de recherche...

La précédante, basée sur le classique FULLTEXT de MySQL n'était pas assez satisfaisante. Scores incompréhensibles et imprévisibles... Pas vraiment précis... Pas prévu pour le français.

Après une vague recherche, j'ai opté pour Lucene !!!
http://framework.zend.com/manual/en/zend.search.lucene.html

Le principe est de créer une base de données uniquement dédié à l'indexation et à la recherche. C'est pas très évident à utiliser au première abord, mais au final... Tout est configurable dans ce moteur de recherche : algo de scoring, et sous quelle forme sont stoqués les champs à rechercher.


Bref, en rentrant dans cette index mes champs sous formes normale, canonisées (pas de mot usuel, forme canonique des mots cf. stemmer, et forme phonétique cf. Soundex). Le résultat est très bon...


C'est une idée que je te donne. Mais aussi pas mal de boulot!

A+


jeudi 2 août 2007 à 18:54:41 | Re : Recherche par SQL ou par algo PHP ?

MadM@tt

Membre Club
Excellent les index FullText ! je connaissais pas du tout merci beaucoup, effectivement ça répond assez à ma question.

Juste une question pour la route, si je passe une colonne en FullText, j'ai pas trop compris l'histoire d'une autre colonne qui doit servir d'index ? Il faut que je crée une colonne supplémentaire par champ en FullText ?

Merci

- MadMatt -
Vb System Library

jeudi 2 août 2007 à 19:01:42 | Re : Recherche par SQL ou par algo PHP ?

Evangun

Moi je garderai Lucene en mémoire, ça a l'air surpuissant... merci pour l'info :)
jeudi 2 août 2007 à 19:03:46 | Re : Recherche par SQL ou par algo PHP ?

MadM@tt

Membre Club
Lucene est effectivement très intéressant, mais je garde ça pour quand j'aurais plus d'enregistrements, et du temps à y consacrer :)
Merci pour l'info

Sinon si quelqu'un aurait des explications à propos de l'INDEX des colonnes FULLTEXT, je vois pas pourquoi il devrait y avoir un index. A quoi ça sert ? Comment on le crée ? ou ça ? héhé, merci

- MadMatt -
Vb System Library

jeudi 2 août 2007 à 19:22:03 | Re : Recherche par SQL ou par algo PHP ?

coucou747

Administrateur CodeS-SourceS
Salut

une chose est sure : les traitements doivent etre faits cote mysql et pas php...


une recherche sur exalead vous aurait peut-etre evite de poser cette question
In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy


Cette discussion est classée dans : php, sql, recherche, algo, requetes


Répondre à ce message

Sujets en rapport avec ce message

Pas de curseur en PHP [ par kenew ] J'ai beau chercher partout, je ne trouve pas le moyen d'envoyer des requetes à MySQL autrement qu'avec des requetes SQL. C'est pas clair, je sais, mai aide moteur de rechrche php sql [ par zizou94 ] Bonjour a tous, J'essaie depuis un semaine d inserer un moteur de recherche si mon site et je n y arrive pas. Etant novice en programmation je ne m en requetes simultanées php sur serveur [ par juju7377 ] Bonjour à tous,Alors voila j'approche de la fin en ce qui concerne la creation de mon site et maintenant peut etre trop tard mais je me demande si ca Moteur recherche SQL php [ par fregeal ] Bonjour Je cherche un moyen d'avoir un champs de recherche sql qui affiche les resultats sous forme d'un tableau mais tous les scritps que j'ai pus t problème pour récupérer la valeur numérique associé à un champ sql [ par meusanland ] Bonjour, Je suis en souffrance depuis maintenant deux jours, j'ai un problème avec une requête SQL, je m'explique : sur un fichier php je me connect recherche avancée en php [ par rajasonia ] Bonjour, je cherche un code source en php pour la recherche d'un enregistrement dans la base à donnée et je veux que lors que je tape la première lett Requête SQL & PHP [ par massbbc ] Bonjour a tous je fais une petite application en php pour un tirage au sort. Je veux pouvoir tirer des numéros au sort de façon unique. C'est à dire Php Sql HTML: Recuperer le resultat d'un select dans une [ par bm1982 ] Bonjour à tous , Je suis debutant en PHP, et jusque là j avais pas recontrer de problème qui perdure comme celui ci En effet j'ai une requete sql don Php Sql HTML formulaire [ par bm1982 ] Bon jour à tous , SVP , après recuperation des infos dans ma BD MYSQL NOM ET PAYS le nom j'ai pu l'afficher dans un input. " />; $pays=rows['pays'];


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,203 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales