¿Alguna idea sobre cómo funciona exactamente la nueva búsqueda instantánea de Google? Parece que solo se trata de llamadas AJAX a la búsqueda anterior, pero es bastante difícil simplificar tanto Google. Alguien tiene especulaciones?
EDITAR: Sé que se envía AJAX con cada pulsación de tecla, pero ¿es predictivo? ¿O crees que es solo una búsqueda habitual en Google?
ajax
search
google-search
google-instant
DexterW
fuente
fuente
Respuestas:
ACTUALIZACIÓN: Google acaba de publicar un artículo de blog llamado Google Instant, detrás de escena . Es una lectura interesante, y obviamente relacionada con esta pregunta. Puede leer cómo abordaron la carga adicional (5-7X según el artículo) en el lado del servidor, por ejemplo. La respuesta a continuación examina lo que sucede en el lado del cliente:
Examinando con Firebug , Google está haciendo una solicitud Ajax GET en cada pulsación de tecla:
Supongo que funciona de la misma manera que la finalización automática. Sin embargo, esta vez, también devuelve los resultados de búsqueda de la frase de búsqueda parcialmente completa en formato JSON .
Examinando una de las respuestas JSON mientras escribe "Desbordamiento de pila":
Podemos ver que la respuesta JSON contiene el contenido para construir los resultados de búsqueda a medida que escribimos.
Las respuestas JSON formateadas se parecen a esto:
Lectura adicional no técnica:
fuente
Como han dicho otros, Google está devolviendo instantáneamente los resultados para el resultado superior de lo que sugiere Google sugiere . Por lo tanto, si escribe fac , Google sugiere sugiere que está escribiendo en Facebook . Curiosamente, solo el término de búsqueda parcial, fac , se envía a Google en la solicitud JSON, por lo que Google sugiere se utiliza en ambos extremos.
Las búsquedas no se realizan realmente en cada pulsación de tecla. Si escribe lo suficientemente rápido, algunos pueden perderse.
Sospecho que esto no aumenta la carga en los servidores de Google tanto como podría pensar. La mayoría de las búsquedas adicionales son para palabras muy populares cuando comienza a escribir cosas: si comienza a buscar algo que comience con f , buscará facebook , si comienza a buscar algo que comience con ju , buscará a justin bieber . Gracias al almacenamiento en caché, estas búsquedas no son muy caras.
fuente
Es predictivo Los resultados de búsqueda son de la primera sugerencia de autocompletar (o la seleccionada si presiona la flecha hacia abajo o pasa el mouse sobre una sugerencia).
En otras palabras, si escribo "vinilo s", la primera sugerencia de autocompletar es "revestimiento de vinilo", y los resultados de la búsqueda muestran claramente una búsqueda de "revestimiento de vinilo". Si hago una búsqueda normal en Google de "vinilos", los resultados de la búsqueda son diferentes.
Entonces, Google Instant es predictivo de una manera que las búsquedas normales de Google no lo son ... busca la autocompletación sugerida en lugar de la consulta de búsqueda literal sin terminar.
fuente
La conversión del primer valor de la clave
u
en la respuesta Ajax de la respuesta de Daniel Vassallo proporciona una URL , que luego conduce a algún JSON (no válido). Todavía no estoy seguro de para qué sirve esta parte.El
d
da un poco de HTML, que se inserta en la página. Aquí hay una versión ligeramente descomprimida . Es principalmente una etiqueta de script, que pasa en 2 fragmentos más de HTML a una funciónje.pa()
. Estos fragmentos parecen ser los mismos que los resultados de búsqueda no instantánea.fuente
Hace un tiempo escribí una GUI de búsqueda instantánea vagamente popular para el motor de búsqueda Solr. Es realmente simple, por lo que debería poder mirar el código y comprender los conceptos generales http://fergiemcdowall.github.io/solrstrap/
fuente