...es la web donde encontrará Artículos que debe leer,
si quiere Destacar con su Empresa en Internet
Hello Google, su primera posición en Internet: HelloGoogle es la web donde encontrará Artículos que debe leer si quiere Destacar con su empresa en Internet

Jue
23
Ago '07

Cómo funciona Google: el proceso de búsqueda

google_image_middle.jpg

La verdadera magia de Google reside en su concepción de la web: Google nunca ha entendido la web como un conjunto de documentos de texto, si no como un conjunto de relaciones entre documentos de texto y cada una de éstas relaciones constituye verdaderamente la esencia de Google. En este artículo de HelloGoogle veremos cómo se desarrolla todo el proceso de búsqueda:

Cuando escribimos una búsqueda en www.google.com nuestra petición viaja por el hiperespacio hasta el servidor web de Google. Google recibe más de 1000 peticiones de búsqueda cada segundo de todos los días del año:

  • El servidor web de Google está formado por una red de más de 10.000 equipos trabajando en paralelo.
  • Cada servidor de la red de Google es extremadamente sencillo y económico: PCs con procesadores X86, disco duro IDE y demás prestaciones estándar.
  • El bajo coste del hardware es la base del modelo de negocio de Google y lo que le permite ofrecer la mayoría de sus servicios de manera gratuita.
  • Cada servidor falla una vez cada tres años.
  • Cada día fallan dos servidores.
  • Si se produce cualquier problema de hardware, el software de Google lo hace imperceptible para sus usuarios.
  • Google no ha sufrido un fallo general desde el año 2000.

A continuación se envía la consulta a los servidores de índices de Google. Cada índice está formado por una relación entre una palabra y la dirección del servidor de documentos de Google donde se almacenan las páginas que contienen dicha palabra.

  • Cada servidor de índices contiene sólo una parte de las webs de Internet y son necesarios varios servidores trabajando en paralelo para calcular el resultado de la búsqueda.

Con la información de los índices se accede a los servidores de documentos de Google que contienen una copia de cada web indexada.

  • Google contiene más de 4000 millones de páginas, por cada página almacena 10KB de información, lo que supone 40 Terabytes de información.
  • Google dispone de 50 mirrows (replicas) por cada servidor.

Por último se aplica el algoritmo de PageRank para ordenar los resultados de la búsqueda por relevancia. El algoritmo de PR calcula la relevancia de una web gracias a 2 billones de ecuaciones con más de 500 millones de variables.

Con toda esta información se crea y muestra al usuario la conocida página de resultados SERP, merece la pena mencionar que Google completa todo este proceso de búsqueda en menos de 1 segundo.

Dom
12
Ago '07

Google Heat Maps: Añada color en sus mapas de Google

Google Heat Maps

Hacía tiempo que venía observando webs 2.0 ( pejm: http://www.trulia.com/home_prices/ ) que utilizaban Heat Maps para mostrar de una manera muy sencilla y clara información geográfica. Cuando revisé el Api de Google para ver cómo se podía conseguir este efecto, me llamó la atención que no estaba soportado de manera nativa y que era necesario realizarlo de una manera más o menos artesanal.

El código

En la siguiente página he preparado un ejemplo donde he destacado algunos países europeos con colores elegidos al azar.

Cómo se crea una silueta

Para mostrar líneas y polígonos en los mapas se utiliza VML (Vector Markup Language), recuerde incluir  el VML namespace al comienzo de su documento:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml"> 

La clase GPolygon del API de Google Maps ofrece funciones para dibujar polígonos en el mapa.

Para nuestro ejemplo he creado la función createPolygon que permite dibujar una silueta vectorial en el mapa pasando tres parámetos:

  1. pts_map: Codificación de las coordenadas de los puntos que conforman el polígono.
  2. lvls_map: Codificación de los niveles que conforman el polígono.
  3. num: Valor entre 1 y 6, cada valor tiene  un color para la silueta.

Cómo obtener los valores de la silueta

A fecha de hoy no conozco ninguna herramienta que permita obtener de manera automática estos valores por lo que es necesario recurrir a un método un tanto artesanal:

  1. Acceda a la sección Mis Mapas en http://maps.google.es/ y haga click en la opción Crear un mapa nuevo.
  2. Ahora viene el trabajo más tedioso, en la zona superior del mapa encontrará un icono para dibujar formas, selecciónelo y comience a pintar los puntos que delimitan la región sobre la que quiere trabajar. Recuerde que cuanto mayor sea el zoom, mejor será la calidad del Heat Map.
  3. Cuando haya terminado haga doble click y elija un nombre para guardar el polígono.
  4. En la esquina superior derecha encontrará la opción Enlazar a esta página, copie esta url en su navegador.
  5. En la nueva página, busque dentro del código HTML el nombre que le dio a su polígono hasta encontrar una cadena similar a esta:

    name:"Forma 1",description:"",polylines:[{id:"0",points:"ol|oFxbaS~df@h`]rqNmfg@qxp@o_d@a~Cren@",levels:"BBBBB"

  6. Por tanto la codificación de las coordenadas de nuestro polígono sería: [{id:"0",points:"ol|oFxbaS~df@h`]rqNmfg@qxp@o_d@a~Cren@ y la codificación de los niveles: BBBBB
  7. El código javascript correspondiente sería:
    createPolygon("ol|oFxbaS~df@h`]rqNmfg@qxp@o_d@a~Cren@","BBBBB",5)

Algunas observaciones

Debe tener en cuenta que los Heat Maps consumen bastante resursos de su sistema, un mapa con muchos polígonos o con formas muy complejas pueden sobrecargar el navagador y hacer la página inmanejable.

Puede personalizar el estilo de sus Heats Maps con algunos parámetros como el color, la opacidad, el borde, el relleno, etc. Para ello utilice la función fromEncoded(color?, weight?, opacity?, points, zoomFactor, levels, numLevels)

Puede descargarse el código de ejemplo y utilizarlo líbremente en sus aplicaciones.

Por último recuerde que para poder utilizar el API de Google Maps en sus aplicaciones es necesario que solicite su Key en la sección sign up for an API key.

Cerrar
E-mail It