developpement du moteur de recherche

contre exemple
WRInaute discret
WRInaute discret
 
Messages: 244
Inscription: 10 Aoû 2005

developpement du moteur de recherche

Message le Sam Sep 05, 2009 17:28

Bonjour,
Je doit réaliser un moteur de recherche ressemblant à celui de h**p://www.paruvendu.fr/auto-moto/recherche/voiture/
en faite ce qui m'interesse vraiment dans ce moteur est la notion de "proximité". En effet il permettent à leurs visiteurs de rechercher à proximité d'une ville (15km ou 30km ou 100km ou 200km) .
A votre avis comment font ils?
est ce à l'aide de google maps?
Merci d'avance de votre aide

jeroen
WRInaute passionné
WRInaute passionné
 
Messages: 2461
Inscription: 30 Aoû 2002

Re: developpement du moteur de recherche

Message le Sam Sep 05, 2009 18:38

1/ La liste des villes géolocalisées en base de donnée

2/ chaque annonce géolocalisée (par la ville j'imagine)

et un calcul de distance entre deux points.


finstreet
WRInaute accro
WRInaute accro
 
Messages: 16999
Inscription: 10 Juil 2005

Re: developpement du moteur de recherche

Message le Dim Sep 06, 2009 2:44

jeroen a écrit:et un calcul de distance entre deux points.


Je confirme

Assez simple pour du vol d'oiseau, sinon tu dois passer par une API pour des calculs de distance genre viamichelin

contre exemple
WRInaute discret
WRInaute discret
 
Messages: 244
Inscription: 10 Aoû 2005

Re: developpement du moteur de recherche

Message le Mer Sep 09, 2009 16:13

jeroen a écrit:1/ La liste des villes géolocalisées en base de donnée

2/ chaque annonce géolocalisée (par la ville j'imagine)

et un calcul de distance entre deux points.




Comment faire le calcul de distance (même à vol d'oiseau finstreet) pour chaque ville sachant qu'il y a plus 30000 villes en france. pensez vous qu'il faille stocker chaque calcul ou faut il faire le calcul à chaque fois?


finstreet
WRInaute accro
WRInaute accro
 
Messages: 16999
Inscription: 10 Juil 2005

Re: developpement du moteur de recherche

Message le Mer Sep 09, 2009 21:05

tu peux pas faire les calculs avant... je n'ose imaginer la tete du serveur qui devra faire ca... mais quand un internaute fait une requete, ca l'enregistre ou la met en cache, non ?


OTP
Modérateur
Modérateur
 
Messages: 19532
Inscription: 16 Déc 2005

Re: developpement du moteur de recherche

Message le Mer Sep 09, 2009 22:10

finstreet a écrit:tu peux pas faire les calculs avant... je n'ose imaginer la tete du serveur qui devra faire ca...


Factorielle 29999, si je ne me trompe pas. Ce n'est plus un serveur, c'est un supercalculateur !
Non, faut faire du cas par cas, pas de doute.

ZelkiN
WRInaute impliqué
WRInaute impliqué
 
Messages: 500
Inscription: 27 Juil 2007

Re: developpement du moteur de recherche

Message le Jeu Sep 10, 2009 17:54

Essaye d'utiliser les points GPS fourni par GOOGLE quand ton client tape une ville. Avec leur algo tu arrive a déterminé le point GPS, puis calculer la distance entre 2 points GPS, donc entre 2 villes

contre exemple
WRInaute discret
WRInaute discret
 
Messages: 244
Inscription: 10 Aoû 2005

Re: developpement du moteur de recherche

Message le Ven Sep 11, 2009 8:14

OTP, pense tu qu'a chaque requette il faille faire le calcul sur les 30000 villes cela me parait trop conséquent car s'il y a plusieurs requettes simultanée le serveur va imploser :(


Zelkin cela veut dire que pour chaque requette je dois interroger google?


spout
WRInaute accro
WRInaute accro
 
Messages: 4377
Inscription: 14 Mai 2003

Re: developpement du moteur de recherche

Message le Ven Sep 11, 2009 9:55

Et pour calculer la distance entre 2 coordonnées GPS en PHP:
Code: Tout sélectionner
function getGPSDistance($long1, $lat1, $long2, $lat2)
{
   $earth_radius = 6367000;   // Terre = sphère de 6367km de rayon
   $rlo1 = deg2rad($long1);
   $rla1 = deg2rad($lat1);
   $rlo2 = deg2rad($long2);
   $rla2 = deg2rad($lat2);

   $dlo = ($rlo2 - $rlo1) / 2;
   $dla = ($rla2 - $rla1) / 2;
   $a = (sin($dla) * sin($dla)) + cos($rla1) * cos($rla2) * (sin($dlo) * sin($dlo));
   $d = 2 * atan2(sqrt($a), sqrt(1 - $a));

   return ($earth_radius * $d);
}


Et cette formule en SQL:
http://www.awelty.fr/e-monsite/php/


finstreet
WRInaute accro
WRInaute accro
 
Messages: 16999
Inscription: 10 Juil 2005

Re: developpement du moteur de recherche

Message le Ven Sep 11, 2009 11:04

contre exemple a écrit:OTP, pense tu qu'a chaque requette il faille faire le calcul sur les 30000 villes cela me parait trop conséquent car s'il y a plusieurs requettes simultanée le serveur va imploser :(


Zelkin cela veut dire que pour chaque requette je dois interroger google?


Quand ton internaute tape une ville. Tu vas pas lui coller les distances par rapport aux 30.000 communes non ?

Et sinon comme dis plus haut, toute requete faite reste en cache mémoire, donc par la suite, elle prendra quasi 0 seconde à être calculée


OTP
Modérateur
Modérateur
 
Messages: 19532
Inscription: 16 Déc 2005

Re: developpement du moteur de recherche

Message le Ven Sep 11, 2009 13:15

contre exemple a écrit:OTP, pense tu qu'a chaque requette il faille faire le calcul sur les 30000 villes cela me parait trop conséquent car s'il y a plusieurs requettes simultanée le serveur va imploser :(


Zelkin cela veut dire que pour chaque requette je dois interroger google?


Faudrait pas plutôt boucler sur les annonces plutôt que sur les villes ???
Parce que d'ici à avoir 36000 annonces par thématique de recherche, tu as de la marge.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :

Consultez la description détaillée des produits ou services de Google suivants : Google API

  • Analyser le positionnement d'un site
    AgentWebRanking est un logiciel professionnel qui permet d'analyser le positionnement d'un ou plusieurs sites dans plus de 300 moteurs de recherche dans le monde. Vous pouvez ainsi analyser les performances du référencement pour de nombreux mots-clés.
  • Recherche de citations d'un site en texte brut
    Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités