Logo Studenta

¿Cómo funciona un buscador en internet que es tan rápido y puedes encontrar millones de resultados entre toda la información en tan solo una...

...fracción de segundo?

💡 1 Respuesta

User badge image

Aprendizaje Práctico

Voy a dar una respuesta más técnica, pero intentando que se entienda bien. Lo que voy a describir es cómo funciona un buscador normal. El de Google no lo conozco, pero será básicamente lo mismo sólo que con más truquitos y con más "hierro".

1) Hay un programa llamado "spider" (por aquello de que recorre la "web"), que se dedica a navegar automáticamente por todas las páginas que existen abiertas al público, a base de entrar en una y pulsar en todos los enlaces que haya en ella. Va guardando las direcciones (url) de todas las páginas que ya ha visitado en una tabla (enorme), para no entrar en bucle. Cuando termina de recorrerse toda internet (tarda varios días), vacía la tabla y vuelve a empezar.

2) Al entrar en una página, usa un algoritmo bastante astuto para sacar una lista con todas las palabras relevantes que contiene, y "normalizarlas" con trucos como

- Pasar todas las letras a minúsculas.

- Quitar los acentos y otros símbolos.

- Pasar todas las palabras a su raíz, suprimiendo plurales, tiempos verbales, etc. (por ejemplo, convierte "pasarán" o "pasaréis" a "pasar").

- Puntuar cada palabra por su relevancia, por ejemplo una palabra en el título de la página puntua más, o una que se repite muchas veces.

3) Como el spider puede ver todos los enlaces, si una página es enlazada desde otras muchas veces, las palabras usadas en esos enlaces también tienen más puntuación. Esto es la base de lo que se llama "Page Rank". Desde que se inventó Google ha añadido muchos trucos más, como por ejemplo saber si mucha gente que busca una palabra, luego ha acabado pulsando en la página que estamos viendo. Aquí es donde está la auténtica "magia" de Google y el por qué sus resultados son tan buenos.

4) Finalmente, guarda todo esto en lo que se llama un "índice inverso". Funciona como los índices que hay al final de los libros. Hay una tabla (gigantesca) que contiene todas las palabras en orden alfabético, y debajo de cada palabra hay una lista con la dirección (url) y un pequeño extracto de todas las páginas que contienen esa palabra, ordenado por Page Rank. Esta tabla se guarda en un disco duro de un montón de terabytes, y se va refrescando cada vez que el "spider" termina de dar una vuelta por toda Internet.

5) Para poder atender a tantísima gente a la vez, lo que hace Google o cualquier buscador es sacar cientos de miles de copias de esa tabla, en otras tantas máquinas repartidas por todo el mundo. Hay un sistema llamado "balanceador de carga" que hace que, aunque todo el mundo ponga la misma dirección (www.google.com), cada petición de una persona es redirigida a una máquina distinta, para que se vayan repartiendo la carga y ninguna se sature por demasiadas peticiones.

6) Finalmente, la clave de poder responder a esa velocidad rapidísima, es que esas máquinas tienen una cantidad enorme de memoria RAM, suficiente para mantener en memoria el índice con todas las palabras, y para cada una al menos los datos de las 10 primeras páginas que la contienen. Así, cuando yo busco "superman", la máquina que responde no tiene que hacer ninguna búsqueda, sólo localizar esa palabra dentro de la letra "s" de su tabla, y devolverme la lista de resultados que ya tiene precargada. Por eso es capaz de mostrar la primera página y el nº total de resultados tan deprisa.

7) Si mi búsqueda tiene varias palabras, el buscador tiene que localizarlas todas y generar una lista combinada, juntando las dos listas y extrayendo las páginas que estén en ambas. Aunque si ve que algunas combinaciones de palabras son buscadas juntas a menudo por la gente (por ejemplo, un nombre y un apellido), se lo aprende y pasa a considerarlo como una sóla palabra.

Hay bastantes más detalles técnicos que tener en cuenta en un buscador real (y en Google más aún), pero lo esencial es esto.


(Actualización) Hola, es la primera vez que consigo 100 votos en una respuesta, ¡muchas gracias a todo el mundo! Me alegro de que os haya gustado ^_^

0
Dislike0

✏️ Responder

FlechasNegritoItálicoSubrayadaTachadoCitaCódigoLista numeradaLista con viñetasSuscritoSobreDisminuir la sangríaAumentar la sangríaColor de fuenteColor de fondoAlineaciónLimpiarInsertar el linkImagenFórmula

Para escribir su respuesta aquí, Ingresar o Crear una cuenta

User badge image

Otros materiales

Otros materiales