Recherche d'une recherche
Le
Pascale
Depuis le temps que je le dis, il faudrait bien que je m'y mette : il me
faudrait un petit moteur de recherche sur l'un de mes sites.
Pas trop envie d'inviter la World Company (Google), en plus j'aimerais
pouvoir préciser dans quel(s) champ(s) se fait la recherche. De préférence
en PHP, comme ça il y aurait une petite chance que j'y comprenne un peu
quelque chose et que je puisse l'adapter à ce que je veux.
En faisant "search engine" chez Sourceforge, on trouve des quantités de
trucs, mais difficile de s'y retrouver et de faire son choix.
Quelqu'un aurait-il un avis, un conseil ?
--
Pascale
http://www.la-grille-verte.net
faudrait un petit moteur de recherche sur l'un de mes sites.
Pas trop envie d'inviter la World Company (Google), en plus j'aimerais
pouvoir préciser dans quel(s) champ(s) se fait la recherche. De préférence
en PHP, comme ça il y aurait une petite chance que j'y comprenne un peu
quelque chose et que je puisse l'adapter à ce que je veux.
En faisant "search engine" chez Sourceforge, on trouve des quantités de
trucs, mais difficile de s'y retrouver et de faire son choix.
Quelqu'un aurait-il un avis, un conseil ?
--
Pascale
http://www.la-grille-verte.net

Poser une question


Si ton site est géré par un CMS, c'est inclus donc je pense que ce n'est
pas le cas.
Sinon, il faut par exemple concevoir un système de tag pour être rapide
et efficace.
Si toutes tes données sont en base de données, tu trouveras probablement
des scripts en PHP. En MySQL et PostgreSQL, tu peux faire des recherches
sur les champs que tu souhaites mais aussi faire un recherche dite
fulltext, qui est très puissante (voir
http://dev.mysql.com/doc/refman/5.0...olean.html et
http://docs.postgresql.fr/9.1/textsearch.html).
Si rien n'est en base, il exsite des outils natifs, au moins pour
PostgreSQL et surement pour MySQL, permettant d'indexer du texte brut,
mais la mise en place sera bien plus délicate.
'xactement !
C'est le cas, en effet, tout est stocké dans les tables d'une base de
données.
Je ne connais pas la recherche fulltext, je vais aller voir ça.
Merci pour ton aide. Il m'a fallu un petit moment pour comprendre que la
plupart des moteurs de recherche tout faits ne convenaient pas dans mon
cas, car il ne s'agit pas d'indexer des pages, puisque ces pages sont
dynamiques, elles « n'existent » pas, ce que je cherche est entièrement
dans la base de données.
Sortir les résultats par ordre décroissant de pertinence ne va pas être
très simple me semble-t-il...
--
Pascale
http://www.la-grille-verte.net
Pour sûr, vu que la World Company, comme tu l'appelles, emploie une
armée de docteurs en mathématique pour affiner ses algorithmes.
Voir
[http://www.claymath.org/programs/ou...arlson.pdf]
pour les boss en math !
Cela dit, avec une simple instruction LIKE '%recherche%' dans une clause
WHERE, tu arrives à de pas trop mauvais résultats.
Voir
[http://dev.mysql.com/doc/refman/5.0...tions.html]
Attention, toutefois, à bien gérer le collationnement, sinon tu auras
des problèmes avec les caractères accentués.
Voir [http://dev.mysql.com/doc/refman/5.0...aults.html]
--
Cordialement,
Pascal
fr.comp.infosystemes.www.auteurs:
Je ne suis pas certain du tout qu'il s'agisse de docteurs en
math !!! Je fais en général 3 sortes de recherches.
En généalogie, il s'agit en général d'un couple ou d'une personne.
Google favorise les sites qui copient et on trouve donc au début
des résultats de 123people, pipl, yasni et autres requins qui
utilisent l'API de Yahoo.
Mon 2e type de recherches, c'est pour savoir comment faire quelque
chose. Ici, ce sont surtout des blogues qui sortent au début, donc
n'importe quoi écrit par n'importe qui et souvent pas très pertinent.
Je cherche aussi des informations sur des produits précis. Par
exemple, j'ai acheté tel machin et je voudrais voir le site du
fabricant. Le résultat, ce sont plutôt des sites vendeurs et non des
sites utiles.
Alors, pour les algorithmes, c'est foutu depuis longtemps.
Cela dépend aussi du nombre de données et de l'affluence sur le site.
Avec 50 000 mots, cela doit répondre assez rapidement. Avec 1 million,
le like % commence à être lent et il vaut mieux optimiser.
Ne pas oublier non plus qu'il y a des conversions automatisées et donc
que les résultats sont parfois étranges...
Denis
Comment est conçu ton site s'il utilise une base de données mais que ce
n'est pas un CMS ? Lorsque tu ajoutes un article, tu fais comment ? Tu
n'as pas de mots-clés associés aux articles ?
C'est le but des algo fulltext : les résultats sont classés par
pertinence. La mise en place n'est pas trop complexe, mais il faut
prendre pas mal de précautions s'il s'agit d'un site avec bcp de visites
ou hébergé sur un petit serveur.
Bref, si tu veux faire ça sur la-grille-verte, je pense qu'il faut bien
bossé avant.
C'est aussi le gros problème des requêtes SQL : on trouve des tonnes
d'exemples simples et la mise en place des requêtes classiques est
facile, mais c'est souvent très très mal optimisé.