8796 sujets

Développement web côté serveur, CMS

Bonjour,

Je cherche à ajouter un moteur de recherche interne à mon site comme la recherche d'alsacreations. Il s'agit d'un site php/mysql
J'ai cherché et j'ai trouvé http://homeproduction.free.fr/mysearchengine2/index.htm
Le soucis que le site est dynamique mais pas des .htm dans un répertoire, le contenu des pages dans un champ de type TEXT de table
J'ai pensé à Google Ajax Search mais le fait est que certaines pages sont privées et ne sont accessibles qu'après authentification donc j'ai immédiatement exclu Google
Bonjour.
Pourquoi ne pas simplement utiliser les outils fournis par MySQL pour des recherches dans la base de données ?
Modifié par phpdoesnotcare (27 Apr 2010 - 12:55)
Donc des SELECT ... LIKE % seulement!
Il y aura plus de 100 pages, ce sera lent d'où l'avantage de l'indexation d'un moteur de recherche
En fait, j'ai pas testé mais je pense que la recherche d'ici supporte les *, +, OR, etc
Je pensais surtout à FULLTEXT, en fait.
Et cette méthode supporte les recherches du style "+pomme - banane", pour dire que tu cherches tout ce qui contient "pomme", mais pas "banane", etc.

--- édit -----
Pour ce qui est des 100 pages, ça dépend aussi beaucoup des index que tu utilises, ou pas.
Modifié par phpdoesnotcare (27 Apr 2010 - 13:42)
dummycreation a écrit :
Donc des SELECT ... LIKE % seulement!

J'ai pensé aussi à cela
Mais là tu me proposes FULLTEXT, je vais y méditer

En fait, n'est-il pas possible de faire: seul GoogleBot (et MSNBot) + les membres inscrits qui peuvent voir (indexer pour les bots) ces pages privées? Les publiques ne peuvent pas voir le contenu, seulement il y en a dans la liste des résultats
Là j'utiliserais Google Search Api
Tu veux que seuls les membres inscrits et les bots aient accès aux résultats de recherche impliquant des pages privées ? Si c'est bien ça, j'imagine que c'est à toi de modifier ta requête SQL en fonction de l'utilisateur. Si non, alors voudrais-tu bien me ré-expliquer le problème, stp ?
phpdoesnotcare a écrit :
Tu veux que seuls les membres inscrits et les bots aient accès aux résultats de recherche impliquant des pages privées ? Si c'est bien ça, j'imagine que c'est à toi de modifier ta requête SQL en fonction de l'utilisateur. Si non, alors voudrais-tu bien me ré-expliquer le problème, stp ?

C'est seulement que j'adore la simplicité avec Google Ajax Search, le soucis c'est que si Google a pu indexer donc tout le monde peut voir

J'ai cherché sur fulltext: http://omiossec.developpez.com/mysql/fulltext/
Assez bien
Salut,

le fulltext c'est bien et effectivement plus rapide. si tu peux c'est un bon conseil.
par contre en php ça demande que certaines choses soit en place au niveau des serveurs.

dans un moteur de recherche tu peux aussi mettre en place du cache.
les requêtes récurrentes s'en verront accélérer.

sinon il faut relativiser la lenteur des requetes à base de like.

moi j'ai travaillé sur des moteurs de recherche où il y avait plus de 100 page et même plus de 1000 et du traffic, c'était pas si lent que ça sans fulltext mais avec cache.



par contre moi perso si je cherche une barre de recherche sur un site et que je tombe sur du google, je suis déçu.

en refaisant quelque chose par toi-même ce sera peut-être pas aussi rapide mais tu assures au moins un résultat plus valable en terme de qualité.

Bon courage.