Recherche dans un forum

50 réponses
AuteurMessage

superfc | Florent
Membre

Photo de superfc

Inscrit le : 01/07/2006

# Le 22/10/2006 à 18:43

Juste un commentaire sur ton moteur : J'ai l'impression qu'il ne s'adapte pas à la langue du client pour l'instant.

Si tu recherches "alice" sur www.google.fr et ton moteur, ça ne donne pas du tout le même résultat. C'est quand même un gros défaut.

Florent Clairambault - http://florent.clairambault.frOuvrir dans une nouvelle fenetre
Gtalk : superfc@gmail.com

devtribu | Olivier
Modérateur

Photo de devtribu

Inscrit le : 16/06/2005

# Le 22/10/2006 à 18:47

C'est l'adresse ip du visiteur qui est comptée ? c'est pas celle du serveur plutot ?

Février 2019, mon futur livre Tout JavaScript chez Dunod https://amzn.to/2PoLd0fOuvrir dans une nouvelle fenetre

Limit | Cyril
Membre

Photo de Limit

Inscrit le : 11/05/2005

# Le 22/10/2006 à 18:54

devtribu a dit :
C'est l'adresse ip du visiteur qui est comptée ? c'est pas celle du serveur plutot ?

bien sur c'est celle du serveur.

Forum GratuitOuvrir dans une nouvelle fenetre - Blog gratuitOuvrir dans une nouvelle fenetre

bhamp0 | Benjamin
Membre

Photo de bhamp0

Inscrit le : 09/05/2005

# Le 22/10/2006 à 21:19

superfc> problème d'API ... les résultats ne sont pas les mêmes sur le moteur officiel et sur les API

devtribu & Limit> pour Google, de mémoire, vous recevez un code qui n'est valable que pour un domaine en particulier (donc 1.000 recherches par site) ; mais pour MSN et Yahoo, la limite n'est pas pour un domaine mais pour un visiteur.
Yahoo: "The Web Search service is limited to 5,000 queries per IP address per day." et "Application IDs are not used to limit access to the services. Access is rate limited based on the caller's IP address."
MSN: "The limit is per AppID and per IP address."

Quand on voit c'qu'on voit, et qu'on entend c'qu'on entend, on a raison d'penser c'qu'on pense !

bhamp0 | Benjamin
Membre

Photo de bhamp0

Inscrit le : 09/05/2005

# Le 22/10/2006 à 21:22

devtribu> est-ce que ça t'intéresserait un service en marque blanche/marque grise/branding permettant de faire une recherche sur ton forum (plutôt que de devoir le faire à l'arrache sur ton serveur) ? du style, t'interroges mon service et je te renvoie un flux xml des réponses les plus pertinentes ? (c'est pas pour tout de suite mais comme il ne me reste plus qu'à classer les résultats des trois moteurs pour ne mettre que les plus pertinents )

Quand on voit c'qu'on voit, et qu'on entend c'qu'on entend, on a raison d'penser c'qu'on pense !

superfc | Florent
Membre

Photo de superfc

Inscrit le : 01/07/2006

# Le 23/10/2006 à 00:24


"The Web Search service is limited to 5,000 queries per IP address per day." et "Application IDs are not used to limit access to the services. Access is rate limited based on the caller's IP address."


Ca veut dire que dans leur API tu dois fournir l'adresse IP du mec qui fait la requête sur ton site ?

Florent Clairambault - http://florent.clairambault.frOuvrir dans une nouvelle fenetre
Gtalk : superfc@gmail.com

MathieuC | Mathieu
Modérateur

Photo de MathieuC

Inscrit le : 15/07/2005

# Le 23/10/2006 à 00:33

jdelire a dit :
En parlant de ca, je me demandais comment font les sites comme alapage ou amazon pour que la recherche dans leur bases se fasse aussi vite. Parce qu'il doit y avoir des millions d'enregistrements !


Ils pre-generent les reponses aux recherchent qui representent 80% de l'utilisation de leur moteur et les mettent en cache.

Apres, ce n'est pas applicable a un forum, car sur un forum, il faut pouvoir donner les reponses en temps reel, et pas avec X heures de retard.

jdelire | Lilian
Membre

Photo de jdelire

Inscrit le : 14/05/2005

# Le 23/10/2006 à 10:02

ok merci
tu serait pret a m'expliquer ca dans le détail en pv ?

Slwo.frOuvrir dans une nouvelle fenetre

MathieuC | Mathieu
Modérateur

Photo de MathieuC

Inscrit le : 15/07/2005

# Le 23/10/2006 à 10:18

Bah c'est pas bien complique, tu fais des statistiques sur les recherches les plus frequentes.

Et ensuite, chaque nuit par exemple, tu genere les resultats a ces requetes, et tu les mets en cache.

Ensuite, quand un visiteur fait une de ces recherches, tu lui fournit le cache au lieu de faire la recherche en live.

Il aura juste des resultat qui ont quelques heures de retard, rien de grave pour une boutique, car les produits ne changent pas tous les jours, par contre, pas imaginable pour un forum.

Toi de ton cote, tu auras un gain de ressource non negligeable, et en plus les visiteurs auront des reponses a leur recherche en un temps record

devtribu | Olivier
Modérateur

Photo de devtribu

Inscrit le : 16/06/2005

# Le 23/10/2006 à 10:29

Telaxo > tu fais comment sur ton forum pour le moteur de recherche ?

Les api externes sont interessantes, mais il faut que toutes les pages soient référencées. Ce qui n'est pas le cas pour moi... Google est le plus complet. Mais il en manque encore une bonne partie

Je vais essayer avec le fulltext avant...

Février 2019, mon futur livre Tout JavaScript chez Dunod https://amzn.to/2PoLd0fOuvrir dans une nouvelle fenetre

MathieuC | Mathieu
Modérateur

Photo de MathieuC

Inscrit le : 15/07/2005

# Le 23/10/2006 à 10:58

devtribu> Je fais plein de LIKE pour recuperer tous les ID des sujets concernes (une requete pour les titres, une pour les messages, et une pour les auteurs), puis j'affiche une belle liste

Le fait de diviser en plusieurs requetes LIKE allege un peu le truc j'ai l'impression.

Mais les recherches ne sont pas tres utilisees, donc il n'y a pas de probleme de surcharge.

devtribu | Olivier
Modérateur

Photo de devtribu

Inscrit le : 16/06/2005

# Le 23/10/2006 à 11:31

Je fais aussi comme ca avec des like pour recuperer les IDtopic
Mais un like sur 2 500 000 lignes ou 500 Mo de données, ca prend 5 secondes environ

J'ai regardé un peu le nombre de recherches sur le forum
C'est a peu pret 1500 / jour

Mais il suffit que 3 requetes tombent en meme temps pour tout ralentir et augmenter la charge sur le serveur pour plusieurs jours
Depuis que j'ai desactivé la recherche forum, la charge sur le serveur sql est nettement plus lisse

Février 2019, mon futur livre Tout JavaScript chez Dunod https://amzn.to/2PoLd0fOuvrir dans une nouvelle fenetre

MathieuC | Mathieu
Modérateur

Photo de MathieuC

Inscrit le : 15/07/2005

# Le 23/10/2006 à 11:35

Ton serveur SQL a assez de memoire pour mettre tes table en cache en memoire ?

Ca tu pourras le voir sur tes MRTG, moi mes serveurs SQL ne lisent jamais sur le HDD, ils ecrivent les tables quand des donnees sont modifiees, mais elle n'ont jamais besoin de lire car tout est en mis en cache en memoire.

Apres, moi mes tables de forum sont beaucoup plus petites car on n'archives pas les messages, c'est pour ca que ca rame pas

devtribu | Olivier
Modérateur

Photo de devtribu

Inscrit le : 16/06/2005

# Le 23/10/2006 à 11:47

j'ai 2Go de RAM sur le serveur Mysql

Mais 500 Mo c'est toujours lu depuis le HDD...

Tu as combien de messages enregistrés sur ton forum ?
Qu'on puisse comparer les volumes ?
Jusque 500 000 messages, ca posait aucun pb...

Février 2019, mon futur livre Tout JavaScript chez Dunod https://amzn.to/2PoLd0fOuvrir dans une nouvelle fenetre

MathieuC | Mathieu
Modérateur

Photo de MathieuC

Inscrit le : 15/07/2005

# Le 23/10/2006 à 12:14

j'ai 10 fois moins de messages, donc ce n'est pas comparable.

Par contre, les 500 Mo peuvent etre mis en cache par le systeme normalement. Par exemple, j'ai des tables de caches de plus de 200 Mo qui sont bien mise en memoire et qui ne provoque aucune lecture.

Ces tables de cache servent a stocker les classements des joueurs regeneres toutes les 30 minutes.

Cette page fait un like sur ces 200 Mo pour trouver un joueur sur les differents classements disponibles : http://www.myefarm.com/classement_recherche.php?ac...Ouvrir dans une nouvelle fenetre

Et ca ne fait pas ramer le serveur du tout, toutes les donnees etant en memoire, ca va tres vite

MathieuC | Mathieu
Modérateur

Photo de MathieuC

Inscrit le : 15/07/2005

# Le 23/10/2006 à 12:15

Tu peux voir les temps de generation en mettant ta souris sur la petite loupe en bas de la colonne de droite.

jdelire | Lilian
Membre

Photo de jdelire

Inscrit le : 14/05/2005

# Le 23/10/2006 à 12:21

Et dans le cas ou la mise en cache n'est pas possible ?

Est ce que cela change quelque chose si l'on affiche seulement par exemple les 3 premiers résultat ?

Slwo.frOuvrir dans une nouvelle fenetre

devtribu | Olivier
Modérateur

Photo de devtribu

Inscrit le : 16/06/2005

# Le 23/10/2006 à 12:27

Tu peux me donner ta config my.cnf ?
Merci

Février 2019, mon futur livre Tout JavaScript chez Dunod https://amzn.to/2PoLd0fOuvrir dans une nouvelle fenetre

MathieuC | Mathieu
Modérateur

Photo de MathieuC

Inscrit le : 15/07/2005

# Le 23/10/2006 à 12:44

Ca repose principalement sur le parametre table_cache.

Un bon article la dessus : http://www.databasejournal.com/features/mysql/arti...Ouvrir dans une nouvelle fenetre

De maniere general, l'etat du serveur (accessible dans phpMyAdmin) est tres pratique pour toutes les optimisations, car tu vois facilement ou ca cloche une fois que tu t'es renseigne sur les differents champs.

jdelire | Lilian
Membre

Photo de jdelire

Inscrit le : 14/05/2005

# Le 23/10/2006 à 12:44

Voila

[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock

[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0

[mysqld]

user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /home/mysql-data
tmpdir = /tmp
language = /usr/share/mysql/english
skip-external-locking
bind-address = 127.0.0.1
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 128K
query_cache_limit = 1048576
query_cache_size = 16777216
query_cache_type = 1

log-slow-queries = /var/log/mysql/mysql-slow.log
long_query_time = 4
#server-id = 1
log-bin = /var/log/mysql/mysql-bin.log
max_binlog_size = 104857600


[mysqldump]
quick
quote-names
max_allowed_packet = 16M

[mysql]
#no-auto-rehash # faster start of mysql but no tab completition

[isamchk]
key_buffer = 16M

Slwo.frOuvrir dans une nouvelle fenetre

Répondre

Vous ne pouvez pas participer au forum, car votre inscription n'a pas été validée. Pour vous faire valider en tant que Membre, cliquez ici.

© MHN - Tous droits réservés | CNIL N°844440 | 24/11/2024 11:55:12 | Généré en 10.22ms | Contacts | Mentions légales |