Technique optimisée ?

ViPHP
ViPHP | 1136 Messages

08 oct. 2009, 19:15

Bonjour à tous ,

Une interrogation me hante ...

Voilà je me demandais s'il existe une méthode particulière pour effectuer des recherches texte dans une base de données ..

Je connais bien entendu les méthodes classiques , à savoir les recherches via les mots clef "LIKE % ...%" sur un champ indexé ou Via des champs "fulltext".

En fait je me demandais jusqu'à quelle taille de base nous pouvions utiliser ces techniques ?
Et une fois la limite atteinte , quelles alternatives existe t'il ?

- réorganisation de la base ( découpage ? )
- Changement de machine ... non .. c'est pas viable :|
- ?

Vous avez des pistes , des expériences la dessus ?

Voilà ... ça y est .. je vais mal dormir en plus je ne sais même pas pourquoi je me pose cette question ... #-o

Merci d'avance ,

Ch.

Kran
Invité n'ayant pas de compte PHPfrance

08 oct. 2009, 19:28

Hello stopher
En fait je me demandais jusqu'à quelle taille de base nous pouvions utiliser ces techniques
La j'ai envie d'répondre : tout dépend des temps de réponse que t'attends... de la base que t'as... et d'la bécane qui y'a en dessous

Par exemple, il m'est arrivé de faire, sur Oracle 10g et sur des tables de plusieurs millions de lignes, des requêtes mal jointées ou avec une clause where douteuse voir inexistante à l'exception du like % % qui t'intéresse (ou je sais c'est sale mais on peut pas être en forme tous les jours..)... Ba ça aboutit toujours !
Bon... parfois c'est long certes :roll: mais le resultat finit toujours par arriver !

En tout cas, à par ça je ne connais pas d'autre technique non plus pour faire des recherches de ce genre...

Eléphant du PHP | 369 Messages

08 oct. 2009, 20:21

Bonjour à tous ,
Une interrogation me hante ...
Voilà je me demandais s'il existe une méthode particulière pour effectuer des recherches texte dans une base de données ..
Je connais bien entendu les méthodes classiques , à savoir les recherches via les mots clef "LIKE % ...%" sur un champ indexé ou Via des champs "fulltext".
[...]
Vous avez des pistes , des expériences la dessus ?
Tu parles "fulltext" et méthodes classiques mais sans spécifier... match, est-elle, pour toi,
une méthode classique? http://dev.mysql.com/doc/refman/5.0/fr/ ... earch.html
Voilà ... ça y est .. je vais mal dormir en plus je ne sais même pas pourquoi je me pose cette question ... #-o
Merci d'avance ,
Ch.
De rien... 'fin, si je t'ai pas véxé en te proposant une info que tu connaissais déja, eh eh eh ;)

@+ ;)

ViPHP
ViPHP | 1136 Messages

08 oct. 2009, 20:49

merci de vos retours ,

Passons sur le coté perf de la machine ...

Oracle , la royse des sgbd ...

Personnellement j'utilise plus FullText que Like , mais je n'ais pas de base assez grosse pour mettre à l'épreuve l'une ou l'autre technique... d'ou mon souhait de connaitre les limites ( approximative pour un serveur standard du moment )...

Tu parles "fulltext" et méthodes classiques mais sans spécifier... match, est-elle, pour toi,
une méthode classique? http://dev.mysql.com/doc/refman/5.0/fr/ ... earch.html
Effectivement , j'englobais match() dans la méthode fulltext , mais merci quand même de le préciser .
De rien... 'fin, si je t'ai pas véxé en te proposant une info que tu connaissais déja, eh eh eh
Jamais la participation de quelqu'un ne me vexera au contraire , je suis vraiment pour le partage de connaissances :)

Mammouth du PHP | 568 Messages

09 oct. 2009, 14:07

Salut,

Je ne pense pas que tu est vraiment de limite à l'utilisation des FULLTEXT.

Je sais de source sûr que Clubic par exemple qui possède une base de données assez énorme utilise cette technique de FULLTEXT combiné à un moteur de recherche SQL nommé Sphinx (cf. http://www.sphinxsearch.com/), et ils n'ont pas l'air d'avoir de gros soucis en terme de temps de réponse et en taille de stockage.

Voila, si ça peut t'aider, je te conseille d'aller faire un tour sur le lien ^^

ViPHP
ViPHP | 4039 Messages

09 oct. 2009, 19:00

Lucene, Hadoop, Xapian, il y a pas mal de gros moteurs de recherches disponibles dans l'open source.
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.