Frage

Wenn Sie in der Google-Suche (ich bin fast sicher, dass Altavista das Gleiche tat) heißt es „Ergebnisse 1-10 von etwa xxxx“ ...

Das hat mich immer erstaunt ... Was bedeutet es, „über“?
Wie können sie zählen etwa?
Ich verstehe, warum sie nicht mit einer genauen Zahl in einer angemessenen Zeit kommen können, aber wie sie auch diesen „ungefähren“ one erreichen?

Ich bin sicher, dass hinter diesem eine Menge Theorie gibt es, die ich verpasst ...

War es hilfreich?

Lösung

Die meisten wahrscheinlich, es auf die Art der geschätzten Zeilenanzahl ähnlich ist, die von den meisten SQL-Systemen in ihrer Abfrage Planung; eine Anzahl von Zeilen in der Tabelle (genau bekannt, wie die letzten Zeitstatistiken wurden gesammelt, aber up-to-date im allgemeinen nicht), um geschätzte Selektivität multipliziert (in der Regel auf einer Art von statistischem Verteilungsmodell durch Abtasten eine kleine Teilmenge berechnet basierend die Zeilen).

Das PostgreSQL Handbuch hat einen Abschnitt über Statistiken durch den Planer verwendet das ist ziemlich informativ, zumindest wenn man die Links, um pg_stats und verschiedene andere Abschnitte folgen. Ich bin sicher, dass nicht wirklich beschreiben, was Google tut, aber es zeigt zumindest ein Modell, bei dem die ersten N Zeilen und eine Schätzung bekommen konnte, wie viele es sein könnte.

Andere Tipps

Nicht relevant für Ihre Frage, aber erinnert an einem kleinen Scherz von mir einen Freund gemacht, wenn eine einfache Ich-Suche zu tun (und erzähl mir nicht, du hast deinen Namen nie googeln). Er sagte so etwas wie

"Wow, etwa 5000 Ergebnisse in 0,22 Sekunden! Nun, sich vorstellen, wie viele Ergebnisse dieser in einer Minute, eine Stunde, einen Tag!"

Ich stelle mir die Schätzung basiert auf Statistiken. Sie werden nicht alle der entsprechenden Seite Spiele zu zählen, so wie sie (ich würde) tun, ist grob ausrechnen, wie viele Prozent der Seiten würde mit der Abfrage übereinstimmen, basierend auf einigen heuristischen und dann verwenden, die als Grundlage für die Zählung .

Eine Heuristik könnte sein, eine Abtastereigniszähler zu tun - nimm eine zufällige Stichprobe von 1000 oder so Seiten und sieht, wie viele Prozent angepasst. Es wäre nicht zu viele nimmt in der Probe eine statisically signifikante Antwort zu bekommen.

Eine Sache, die bisher noch nicht erwähnt hat, ist Deduplizierung. Einige Suchmaschinen (Ich bin nicht sicher, wie genau Google insbesondere nicht es) Heuristik verwenden, um zu versuchen und zu entscheiden, ob zwei verschiedene URLs die gleiche (oder sehr ähnlich) Inhalte und sind somit Ergebnisse duplizieren.

Wenn es 156 eindeutige URLs, aber 9 von denen, wurden als Duplikate von anderen Ergebnissen markiert, es einfacher ist, „etwa 150 Ergebnisse“ zu sagen, anstatt etwas wie „156 Ergebnisse, die 147 einzigartige Ergebnisse enthalten und 9 Duplikate“.

eine genaue Anzahl der Ergebnisse Rückkehr ist nicht der Aufwand lohnt sich, genau zu berechnen. Da gibt es nicht viel von einem Wert ist hinzuzufügen, aus dem Wissen, gab es 1.004.345 Ergebnisse eher als ‚etwa 1.000.000‘, es ist wichtiger, von einem Ende Perspektive User Experience, die Ergebnisse schneller und nicht die zusätzliche Zeit zurückzukehren, um die Gesamt zu berechnen.

Von Google selbst: "Googles Berechnung der Gesamtzahl der Suchergebnisse ist ein Schätzung. wir verstehen, dass eine grobe Schätzung wertvoll ist, und durch eine Schätzung und nicht als exaktes Konto bereitstellt, wir schnelle Ergebnisse Qualität Suche zurückkehren können. "

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top