Irgendwelche Ideen, wie genau die neue Google-Sofort-Suche funktioniert? Es scheint nur AJAX-Aufrufe der alten Suche zu sein, aber es ist ziemlich schwierig, Google so stark zu vereinfachen. Hat jemand Spekulationen?
EDIT: Ich weiß, dass AJAX mit jedem Tastendruck gesendet wird, aber ist es prädiktiv? Oder denkst du, es ist nur eine normale alte Google-Suche?
ajax
search
google-search
google-instant
DexterW
quelle
quelle
Antworten:
UPDATE: Google hat gerade einen Blog-Artikel namens Google Instant hinter den Kulissen veröffentlicht . Es ist eine interessante Lektüre und hängt offensichtlich mit dieser Frage zusammen. Sie können beispielsweise lesen, wie sie die zusätzliche Last (5-7X laut Artikel) auf der Serverseite bewältigt haben. Die folgende Antwort untersucht, was auf der Client-Seite passiert:
Bei der Prüfung mit Firebug führt Google bei jedem Tastendruck eine Ajax GET-Anfrage durch:
Ich denke, es funktioniert genauso wie die automatische Vervollständigung. Dieses Mal werden jedoch auch die Suchergebnisse der teilweise vollständigen Suchphrase im JSON- Format zurückgegeben.
Untersuchen einer der JSON-Antworten während der Eingabe von "Stapelüberlauf":
Wir können sehen, dass die JSON-Antwort den Inhalt enthält, um die Suchergebnisse während der Eingabe zu erstellen.
Die formatierten JSON-Antworten sehen ungefähr so aus:
Weitere nichttechnische Lektüre:
quelle
Wie andere bereits gesagt haben, gibt Google die Ergebnisse sofort zurück, um das beste Ergebnis der Vorschläge von Google Suggest zu erhalten . Wenn Sie also fac eingeben, glaubt Google Suggests, dass Sie Facebook eingeben . Interessanterweise wird in der JSON-Anforderung nur der Teil-Suchbegriff fac an Google gesendet, sodass Google Suggest an beiden Enden verwendet wird.
Die Suche wird nicht bei jedem Tastendruck durchgeführt. Wenn Sie schnell genug tippen, können einige übersehen werden.
Ich vermute, dass dies die Belastung der Server von Google nicht so stark erhöht, wie Sie vielleicht denken. Die meisten zusätzlichen Suchanfragen beziehen sich auf sehr beliebte Wörter, wenn Sie mit der Eingabe beginnen. Wenn Sie nach etwas suchen, das mit f beginnt , wird nach Facebook gesucht. Wenn Sie nach etwas suchen, das mit ju beginnt , wird nach Justin Bieber gesucht . Dank Caching sind diese Suchvorgänge nicht sehr teuer.
quelle
Es ist vorausschauend. Die Suchergebnisse stammen aus dem ersten Vorschlag zur automatischen Vervollständigung (oder dem ausgewählten, wenn Sie den Abwärtspfeil oder die Maus über einen Vorschlag drücken).
Mit anderen Worten, wenn ich "vinyl s" eingebe, lautet der erste Vorschlag zur automatischen Vervollständigung "vinyl siding", und die Suchergebnisse zeigen eindeutig eine Suche nach "vinyl siding". Wenn ich eine normale Google-Suche nach "Vinyls" durchführe, sind die Suchergebnisse unterschiedlich.
Google Instant ist also so prädiktiv, dass normale Google-Suchvorgänge nicht ... es sucht nach der vorgeschlagenen automatischen Vervollständigung anstelle der buchstäblich unvollendeten Suchabfrage.
quelle
Das Konvertieren des ersten Werts aus dem Schlüssel
u
in der Ajax-Antwort von Daniel Vassallos Antwort ergibt eine URL , die dann zu einem (ungültigen) JSON führt. Ich bin mir noch nicht sicher, wofür dieses Stück ist.Das
d
gibt etwas HTML, das in die Seite eingefügt wird. Hier ist eine leicht dekomprimierte Version . Es ist meistens ein Skript-Tag, das 2 weitere HTML-Blöcke an eine Funktion übergibtje.pa()
. Diese Blöcke scheinen mit den nicht sofortigen Suchergebnissen identisch zu sein.quelle
Ich habe vor einiger Zeit eine vage beliebte Sofort-Such-GUI für die Solr-Suchmaschine geschrieben. Es ist wirklich einfach, daher sollten Sie in der Lage sein, den Code zu betrachten und die allgemeinen Konzepte zu verstehen. Http://fergiemcdowall.github.io/solrstrap/
quelle