Inhalt
1 Einleitung 4
1.1 Zweck von Metasuchmaschinen 4
1.2 Mittelpunkt dieser Arbeit 5
1.3 Überblick über diese Arbeit 5
2 Datenbanken und Metasuchmaschinen 6
2.1 Webdatenbanken 6
2.1.1 Funktionsweise 6
2.1.2 Vorgaben für die Suche 9
2.1.3 Anwendung auf WWW-Adressen 10
2.2 Metasuchmaschinen 11
2.2.1 Funktionsweise 11
2.2.2 Besondere Anforderungen 12
2.2.3 Client- und Serverapplikationen 14
2.2.4 Kriterien für Metasuchmaschinen 15
2.2.5 Anwendung auf WWW-Adressen 16
2.2.5.1 Unterstützte Datenbanktypen 16
2.2.5.2 Vergleich der Ausgabe mit der von Suchdiensten 16
2.2.5.3 Kommunikation mit den Suchdiensten 19
3 Objektorientierte Entwicklung 20
3.1 Planung 20
3.1.1 Webserver 20
3.1.2 Programmiersprache 21
3.1.3 Suchdienste 21
3.1.3.1 Crawler 22
3.1.3.2 Verzeichnisse 24
3.1.3.3 Andere Datenbanken 25
3.2 Analyse 25
3.3 Entwurf 26
3.4 Implementation 28
4 Weiterentwicklung einer bestehenden Metasuchmaschine 30
4.1 Aufbau der übernommenen Metasuchmaschine 30
1
INHALT
4.2 Anpassung an internationale Suchdienste 32
4.3 Änderung der Programmarchitektur 32
4.3.1 Integration externer Programmteile 33
4.3.1.1 Phrasenerkennung 34
4.3.1.2 Doublettenerkennung 34
4.3.1.3 Existenzprüfung 35
4.3.1.4 Ausgabe 36
4.3.2 Parametrisierung der Suchdiensteigenschaften 36
4.4 Berechnung der Relevanz 37
4.5 Sicherheit 38
5 Performance 39
5.1 Performancemessungen 39
5.1.1 Benchmark 39
5.1.2 Profiling 40
5.2 Performanceverbesserungen 40
5.2.1 mod perl 40
5.2.2 Compiler 41
6 Bedienung 43
6.1 Benutzung als Suchhilfe 43
6.2 Installation 45
6.3 Parametereinstellungen 48
6.4 Administration 50
6.4.1 Anpassen des Ausgabeformats 51
6.4.2 Ändern der Datenbankeigenschaften 51
6.4.3 Hinzufügen und Entfernen von Datenbanken 52
6.4.3.1 Ermitteln der Datenbankeigenschaften 53
6.4.3.2 Erstellen der Datenbankmodule 54
6.4.3.3 Test 54
6.4.4 Ändern der QuickTips 55
7 Ergebnisse 56
7.1 Vergleich mit bestehenden Metasuchmaschinen 56
7.1.1 Kriterien 56
7.1.2 Resultate 58
7.2 Weitere Verbessserungen 58
8 Zusammenfassung und Ausblick 61
Literaturverzeichnis 62
2
INHALT
Anhang 65
A Daten der Suchdienste 65
A.1 Altavista 65
A.2 Dejanews 65
A.3 eBlast 66
A.4 Euroferret 66
A.5 Euroseek 66
A.6 Excite 66
A.7 Hotbot 67
A.8 Lycos 67
A.9 Magellan 67
A.10 Northern Light 67
A.11 Open Directory Project 68
A.12 Snap 68
A.13 Yahoo 68
3
1 Einleitung
1.1 Zweck von Metasuchmaschinen
Suchdienste gehören zu den beliebtesten Applikationen im World Wide Web. Es gibt zahlreiche davon, und ihre Zahl steigt beständig. Der Grund für die Beliebtheit liegt darin, daß im Internet sehr viele Informationen zur Verfügung gestellt werden, die aber in keiner Weise organisiert sind. Damit sind die vielen im Internet abrufbaren Daten für den Benutzer nur schwer zu überblicken. Um die richtigen Informationen finden zu können, bieten Suchdienste gute Hilfestellungen an. Der Großteil der Zeit bei der Suche wird dabei allerdings mit Durcharbeiten von irrelevanten Informationen verbraucht. Effektivere Suchmöglichkeiten sind unbedingt notwendig, um die Zeit einer Recherche zu verkürzen. Metasuchmaschinen, welche die Suchergebnisse verschiedener individueller Suchdienste zusammenfassen, eignen sich aus verschiedenen Gründen besser für eine Suche als gewöhnliche Suchdienste. Sie liefern mehr und auch aktuellere Resultate (siehe 2.2.5.2). Insbesondere für eine Suche nach ganz speziellen Seiten und bei einer gründlichen Recherche eines bestimmten Themenbereichs sind Metasuchmaschinen also zu empfehlen. Außerdem ist die Bedienung einer Metasuchmaschine für den Benutzer einfacher und komfortabler als die eines Suchdienstes. Er müßte sonst viele davon nacheinander verwenden, um die gleichen Resultate zu erhalten. Dazu wäre Wissen über jeden einzelnen dieser Dienste nötig. Der Benutzer müßte zunächst wissen, wo sich überhaupt die Suchdienste befinden, dann, welche Informationen in ihren Datenbanken zu finden sind und schließlich zu welcher Zeit sie mit zumindest akzeptabler Geschwindigkeit funktionieren. Weiterhin ist zu beachten, daß alle Suchdienste unterschiedliche Benutzeroberflächen aufweisen. Der Benutzer müßte sich daher zusätzlich mit deren Bedienung vertraut machen. Bei der Benutzung einer einzigen, übergreifenden Metasuchmaschine ist nur noch Wissen über diese nötig. Dadurch daß mehrere Suchdienste von ihr kontaktiert werden, ist außerdem gewährleistet, daß auch bei kurzen Suchzeiten fast immer Ergebnisse geliefert werden.
Metasuchmaschinen lassen sich aber auch noch für andere Zwecke einsetzen. Andere Computerprogramme können Metasuchmaschinen verwenden, um beispielsweise mit ihrer Hilfe automatisch neue Webseiten-Verzeichnisse aufzubauen [14] oder um die Größe der Suchdienste zu vergleichen [15].
4
1.2 Mittelpunkt dieser Arbeit
Die erste Metasuchmaschine mit Namen MetaCrawler wurde 1995 in Betrieb genommen [3]. Etwas später folgte MetaGer, eine Metasuchmaschine für deutsche Suchdienste [2]. Diese erfüllt inzwischen - im Gegensatz zu MetaCrawler und allen anderen solchen Maschinen - alle Kriterien einer Metasuchmaschine vollständig (siehe 2.2.4). Damit ein vergleichbarer Standard auch für den internationalen Bereich angeboten werden kann, wurde aufbauend auf dem MetaGer-Programmcode die Metasuchmaschine MetaWorld erstellt. Ihre Entwicklung wird in dieser Diplomarbeit beschrieben. Bei der Implementation sollte neben der Erfüllung der Mindestkriterien auch der Performanceaspekt nicht außer acht gelassen werden. Die Metasuchmaschine sollte für eine große Zahl an Zugriffen skalierbar sein.
1.3 Überblick
Kapitel 2 legt die allgemeinen Grundlagen von über das WWW zugänglichen Datenbanken und darauf basierenden Metasuchmaschinen dar. Dabei wird insbesondere auf die Suche nach WWW-Seiten eingegangen. Die folgenden beiden Kapitel behandeln jeweils Verfahren der Entwicklung einer Metasuchmaschine. Beim ersten dieser Verfahren handelt es sich um eine Neuentwicklung mit Hilfe objektorientierter Methoden, beim zweiten um die Weiterentwicklung einer bestehenden Metasuchmaschine. In Kapitel 5 wird auf die Möglichkeiten zur Messung und Verbesserung der Performance eingegangen. Das darauf folgende Kapitel enthält Bedienungsanleitungen für Benutzer und A dministratoren der Metasuchmaschine, überdies werden Installations- und Konfigurationshinweise gegeben. In Kapitel 7 folgt ein Vergleich der in dieser Diplomarbeit beschriebenen Metasuchmaschine mit anderen im Internet verfügbaren Metasuchern und es werden mögliche Verbesserungen erläutert. Kapitel 8 faßt die Resultate dieser Diplomarbeit zusammen und gibt einen Ausblick auf die Weiterentwicklung von Metasuchmaschinen in der Zukunft.
5
2 Datenbanken und Metasuchmaschinen
In diesem Kapitel werden zuerst die allgemeine Funktionsweise und die Eigenschaften von über das WWW zugänglichen Datenbanken erklärt. Dann werden die grundsätzlichen Prinzipien der Metasuchmaschinen beschrieben, welche diese Datenbanken verwenden, um Informationen zu sammeln. In beiden Abschnitten wird auf die Verwendung zur Suche nach WWW-Adressen eingegangen.
2.1 Webdatenbanken
Im Internet steht dem Nutzer eine Vielzahl von Datenbanken mit ganz unterschiedlichen Inhalten zum Zugriff bereit: So kann man online nach Nachrichten, Usenet-Artikeln, Kleinanzeigen und Stellenangeboten suchen. Es stehen aber auch Sammlungen von Emailadressen und WWW-Seiten zur Verfügung.
2.1.1 Funktionsweise
Trotz der verschiedenen Inhalte erfolgt der Zugriff des Benutzers auf eine Datenbank immer nach derselben Struktur (siehe Abb. 2.3 A). Ein HTML-Formular wird vom Benutzer mit Hilfe seines Browsers geladen und ausgefüllt. Der Browser sendet daraufhin eine kodierte Abfrage an den Webserver, der seinerseits die Anfrage an die Datenbank weiterleitet. Die Datenbank sucht dann die benötigten Informationen und liefert sie an den Server zurück. Dieser wandelt sie in eine HTML-Ausgabeseite um und schickt sie zum Browser.
Abb. 2.1 zeigt ein Beispiel eines Suchformulars. Hier können Vorgaben für die Suche eingetragen werden. Diese Vorgaben werden im nächsten Abschnitt erläutert. Oft ist es auch möglich, das Ausgabeformat vorzugeben. Ein Beispiel für eine Ausgabeseite ist in Abb. 2.2 zu sehen, die eine Reihe von ausgegebenen Datensätzen zeigt. Unter Datensätzen versteht man eine Ansammlung von Daten, die in einer elementaren Beziehung zueinander stehen. Ein Datensatz besteht meist aus mehreren Datenfeldern. Bei Usenet-Artikeln ist etwa der Autor ein Feld, die Newsgroup ein weiteres etc. Die Datensätze in den Webdatenbanken besitzen immer die gleiche Struktur.
6
Die Ausgabeseiten verschiedener Datenbanken haben zwar ein relativ unterschiedliches Aussehen, gemeinsan ist ihnen jedoch, daß immer immer die gefundenen und sortierten Datensätze mit ihren Feldern in Textform angezeigt werden. Gelegentlich wird zu den
7
2 DATENBANKEN UND METASUCHMASCHINEN
Abb. 2.1 Eingabeformular des Suchdienstes Hotbot
8
2 DATENBANKEN UND METASUCHMASCHINEN
Abb. 2.2: Typische Ausgabeseite des Suchdienstes Hotbot
9
Datensätzen auch die Relevanz hinzugefügt. Dies ist ein Maß für die Wahrscheinlichkeit, daß der angezeigte Datensatz mit der zuvor abgeschickten Anfrage gesucht wurde. Außerdem wird dem Benutzer auf einer Ausgabeseite die Möglichkeit gegeben, zur nächsten Ausgabeseite zu gelangen, auf der weitere Datensätze dargestellt werden, sowie zur vorigen Ausgabeseite zurückzukehren.
2.1.2 Vorgaben für die Suche
Im folgenden soll der Zugriff auf eine Webdatenbank genauer analysiert werden. Für das Suchergebnis ist zunächst relevant, wo, das heißt in welcher Datenbank, gesucht werden soll. Üblicherweise kann von einem Formular nur eine Datenbank abgefragt werden. Es gibt aber auch Formulare, die auf mehrere Datenbanken zugreifen. So kann man beispielsweise mit einigen Suchdiensten sowohl das Usenet als auch das WWW durchsuchen. In solchen Fällen erlaubt das Formular d em Benutzer häufig, die zu durchsuchende Datenbank selbst festzulegen.
Als zweites ist vom ihm zu bestimmen, welche der enthaltenen Datensätze von der Datenbank zurückgeliefert werden sollen. Die Auswahl kann dabei nach folgenden Kriterien vorgenommen werden:
• Im Formular können Stichwörter eingegeben werden, wenn die Felder in den Datensätzen, wie
es fast immer der Fall ist, Text enthalten. Die Textfelder werden dann auf das Vorhandensein dieser Wörter untersucht. Allerdings ist zu beachten, daß ein Teil der Datenbanken Stopwörter verwendet. Dies sind Wörter, die nicht in den Index aufgenommen werden, weil sie in den Webseiten zu häufig vorkommen wie beispielsweise „is“ oder „the“. Sie werden bei der Suche ignoriert.
• Bei der Verknüpfung dieser Suchwörter folgt jede Datenbank einer jeweils eigenen
Abfragesyntax. Oft kann der Benutzer die Suchwörter durch Boolesche Operatoren verbinden. Die aus der Mengenlehre bekannten Operatoren sind AND, OR und NOT. Durch Klammerung können daraus komplexe Ausdrücke entstehen. Zudem gibt es Operatoren, die festlegen, ob die angegebenen Stichwörter nahe beieinander oder in einer bestimmten Reihenfolge stehen sollen. Sie werden allerdings nur von wenigen Datenbanken unterstützt. Wesentlich häufiger tritt eine spezielle Kombination dieser Operatoren auf, die sogenannte Phrasensuche, bei der mehrere Worte in Anführungszeichen eingeschlossen werden. Diese müssen dann im Textfeld des gesuchten Datensatzes, der angegebenen Reihenfolge entsprechend, nebeneinander, also als Phrase, auftauchen. Einige Suchdienste ermöglichen keine Klammerung bei Booleschen Ausdrücken, einige erlauben sogar überhaupt keine Booleschen Ausdrücke. Bei diesen kann man aber meist entscheiden, ob die Stichwörter alle durch eine logische AND oder eine OR Verknüpfung verbunden werden sollen, das heißt, ob alle der Suchwörter im Dokument enthalten sein müssen oder eines genügt. Bei anderen Suchdiensten wiederum kann man
10
diejenigen Worte kennzeichnen, die unbedingt enthalten sein müssen oder gar nicht enthalten sein dürfen.
• Einige Suchdienste erlauben dem Benutzer überdies, für manche Worte nur den Wortanfang
festzulegen. In diesem Fall werden von dem Suchdienst alle Datensätze geliefert, die Wörter mit dem angegebenen Wortanfang enthalten. Es gibt auch Datenbanken, die dies automatisch machen und immer zusätzlich die Datensätze angeben, die den gleichen Wortstamm enthalten. Dieses Verfahren wird stemming genannt.
• Ferner besteht oftmals die Möglichkeit, die Textsuche auf bestimmte Felder einzuschränken. Bei
der S uche nach Usenet-Artikeln kann die Textsuche zum Beispiel auf das Autorfeld der jeweiligen Datensätze eingeschränkt werden. Manche Datenbanken weisen zusätzlich Felder auf, die keinen Text enthalten und bei denen die Suche auf andere Weise eingeschränkt wird. Bei einer Datenbank mit WWW-Seiten ist dies zum Beispiel das Datumsfeld . Hierbei kann die Suche auf einen bestimmten zeitlichen Bereich eingegrenzt werden.
Die erwähnten Suchmöglichkeiten zielen grundsätzlich erst einmal darauf, die Lösungsmenge der Suche zu verkleinern. Die Eingaben können aber auch zusätzlich zur Sortierung der Ergebnisse verwendet werden, indem die Relevanz der Datensätze errechnet wird. Dem Benutzer stehen auf den Suchformularen häufig auch Eingabeoptionen zur Verfügung, welche die grundlegende Art der Sortierung festlegen, etwa die Sortierung nach Relevanz. Ein anderes Sortierkriterium ist beispielsweise die Aktualität des Datensatzes. Bei einigen wenigen Datenbanken können sogar einzelne Sortierkriterien gewichtet werden.
2.1.3 Webdatenbanken für WWW-Seiten
Die beliebtesten über das WWW zugänglichen Datenbanken sind wohl diejenigen, die Adressen von Webseiten speichern. Sie werden auch ganz allgemein als Suchdienste bezeichnet. Von ihnen gibt es verschiedene Grundtypen, nämlich Verzeichnisse und Crawler. Der Begriff Suchmaschine bezeichnet zwar manchmal alle Suchdienste, oft wird er jedoch als Synonym für Crawler verwendet. Wegen seiner ungenauen Definition wird er hier nicht weiter verwendet.
Sogenannte Verzeichnisse oder Kataloge speichern Webadressen mit Beschreibungen. Sie werden in hierarchisch geordneten Unterverzeichnissen sortiert. Die Beschreibungen werden dabei von Menschen verfaßt. Änderungen der Webseiten haben also keine Auswirkung auf den Eintrag. Wenn in diesen Verzeichnissen nach bestimmten Wörtern gesucht wird, werden die Datensätze geliefert, bei denen das Wort in der Beschreibung, im Titel oder in der Webadresse vorkommt.
Des weiteren gibt es Datenbanken mit Webadressen, die nicht von Menschen, sondern automatisch zusammengestellt werden. Dabei sammelt ein Programm, das auch Spider oder Crawler genannt wird,
11
alle Webseiten, die es finden kann. Neue Webseiten findet es, indem die Links, die in einer Webseite enthalten sind, verfolgt werden. Die Webseiten werden dann platzsparend indiziert. Das heißt, die Webseite wird nicht vollständig gespeichert, sondern es wird ein Index aus Worten aufgebaut. Darin wird gespeichert, welche Worte in welcher Webseite zu finden sind. Zu jeder Seite wird außerdem ein Teil des enthaltenen Textes gespeichert. Dies sind meist etwa zwei Zeilen aus dem oberen Bereich der Seite. Manchmal sind es jedoch auch Meta-HTML-Ausdrücke. Das sind Zeilen, die eine Beschreibung der Seite enthalten, aber von einem Browser nicht angezeigt werden. Wenn jetzt die Datenbank nach Wörtern durchsucht wird, werden nicht nur Seiten, in deren Textausschnitten die Wörter vorhanden sind, zurückgeliefert, sondern auch, wenn sie im restlichen Text der ganzen Webseite zu finden sind. Zur Unterscheidung wird im folgenden wie oft auch in der Literatur dieser gesamte Suchdienst Crawler genannt, nicht nur das Programm, welches die Webseiten sammelt. Auch Mischformen zwischen Crawlern und Verzeichnissen sind im Internet anzutreffen, die gleichzeitig manuell erstellte Verzeichnisse und automatisch generierte Indizes durchsuchen.
2.2 Metasuchmaschinen
2.2.1 Funktionsweise
Metasuchmaschinen, auch Metasuchdienst genannt, fassen die Ergebnisse mehrerer Suchen bei über das WWW zugänglichen Datenbanken zusammen und geben das Ergebnis ebenfalls über das WWW wieder. Die verwendeten Datenbanken können dabei beliebige Inhalte haben. Eine Voraussetzung für Datenbanken, die eine Metasuchmaschine unterstützen sollen, ist allerdings, daß die Strukturen ihrer Datensätze in etwa die gleiche Form haben, da die Datensätze der verschiedenen Datenbanken ja alle in einem einheitlichen Format ausgegeben werden sollen.
Metasuchmaschinen gehen grundsätzlich folgendermaßen vor (siehe Abb. 2.3 B): Genau wie bei gewöhnlichen Suchdiensten nimmt die Metasuchmaschine zunächst die Anfrage vom Browser entgegen. Aus den solchermaßen empfangenen Informationen werden die verschiedenen Anfragen für die Datenbanken kodiert und dann gleichzeitig zu ihnen geschickt. Jede Datenbank sendet jeweils eine Antwortseite zurück. Alle Antworten werden parallel wieder in Empfang genommen. Die einzelnen Felder der Datensätze werden herausgefiltert und in einer eigenen Datenstruktur gespeichert. Dabei werden die Datensätze bearbeitet und sortiert. Zum Schluß werden sie in HTML-Form ausgegeben und an den Browser gesendet.
12
Abb. 2.3: Vergleich des Ablaufes von Abfragen an einer Datenbank (A) und an einer Metasuchmaschine (B)
2.2.2 Besondere Anforderungen
Im Vergleich zu normalen Suchdiensten ergeben sich spezielle Anforderungen an Metasuchmaschinen. Diese finden sich insbesondere in den Bereichen der Suchmöglichkeiten, der Doublettenerkennung, der Relevanzfindung, des Ausgleichs von Unzulänglichkeiten der Suchdienste und der Ausgabe. Die Suchmöglichkeiten der Metasuchmaschinen unterscheiden sich von den Suchmöglichkeiten der Web-Datenbanken in drei Punkten. Erstens können meist nur Optionen unterstützt werden, die auch von allen darunterliegenden Datenbanken angeboten werden. Sobald eine Datenbank eine bestimmte Art der Suche nicht versteht, würden unter Umständen auch Datensätze zurückgeliefert werden, die nicht mit der Anfrage übereinstimmen. Diese würden dann die Qualität des Suchergebnisses verschlechtern. Die einstellbare Anzahl der zurückgelieferten Datensätze ist b ei jeder Datenbank verschieden. Dies wird bei einer Metasuchmaschine dadurch umgangen, daß die maximale Anzahl von Datensätzen pro Suchdienst vom Benutzer angegeben werden kann.
Eine zweite zusätzliche Suchoption bei Metasuchmaschinen besteht in der Festlegung, welche Suchdienste aktiviert werden sollen. Meist kann man diese direkt auswählen, manche Metasuchmaschinen haben jedoch einen eingebauten Algorithmus, der die geeignetsten Datenbanken aussucht. Das ist deshalb sinnvoll, weil manche Datenbanken sich auf spezielle Gebiete wie zum Beispiel Shareware beschränken. Die Metasuchmaschine ProFusion kontaktiert beispielsweise immer drei Suchdienste, die sie in Abhängigkeit von den Suchwörtern auswählt [13]. Die Auswahl geschieht mit Hilfe eines Wörterbuchs, daß zu jedem enthaltenen Wort die Suchmaschine mit den meisten Ergebnissen speichert. Die Metasuchmaschine SavvySearch dagegen bestimmt nach Analyse der Netz-und der Arbeitslast, wie viele Suchdienste kontaktiert werden [10, 11]. Die Auswahl der Suchdienste erfolgt ebenfalls auf Grund eines Wörterbuchs, aber auch durch die Performance des Suchdienstes.
13
Arbeit zitieren:
Christian Ismer, 1999, Entwicklung einer Metasuchmaschine für internationale Suchdienste, München, GRIN Verlag GmbH
Dieser Text kann über folgende URL aufgerufen und zitiert werden:
Einbetten
DOI
Formatvorlage (Microsoft Word) für eine Diplomarbeit, Masterarbeit, Ha...
Für MS Word 2003 - Update 2010
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 25 Seiten
Formatvorlage (OpenOffice) für eine Diplomarbeit, Masterarbeit, Hausar...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 35 Seiten
Formatvorlage / Vorlage zur Erstellung einer Diplomarbeit, Bachelorarb...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 15 Seiten
Formatvorlage / Vorlage für eine Diplomarbeit / Hausarbeit
Für MS Word 2007 - dotx
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 25 Seiten
Anleitung zum Erstellen schriftlicher Arbeiten: Der Aufbau einer wisse...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 20 Seiten
Erstellen einer schriftlichen Hausarbeit
Vorlagen, Muster, Formulare, Infobroschüren
Hausarbeit, 14 Seiten
Grundtechniken wissenschaftlichen Arbeitens
Bibliografieren - Reden - Schr...
Vorlagen, Muster, Formulare, Infobroschüren
Skript, 46 Seiten
Ratgeber zur Erstellung wissenschaftlicher Arbeiten. Diplomarbeiten - ...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 39 Seiten
Christian Ismer hat den Text Entwicklung einer Metasuchmaschine für internationale Suchdienste veröffentlicht
Christian Ismer hat einen neuen Text hochgeladen
Web Dragons: Inside the Myths of Search Engine Technology
Inside the Myths of Search Eng...
Ian H. Witten, Marco Gori, Teresa Numerico
Google's Pagerank and Beyond: The Science of Search Engine Rankings
The Science of Search Engine R...
Amy N. Langville, Carl D. Meyer
Seo Help: 20 Search Engine Optimization Steps to Get Your Website to G...
David Amerland, Dave Amerland
Search Engine Optimization; How to Manage Seo Projects and Increase Se...
Lawrence Harte, Kyle Sutton, Carolyn Luck
0 Kommentare