skip to content

Institutsinterne Suche

Auf der Homepage eines Instituts soll ein Suchfeld integriert werden:

Die eingegebenen Begriffe sollen allerdings nur auf den Seiten des eigenen Instituts gesucht werden.

Suchanfrage

Das Suchfeld wird mit den folgenden HTML-Anweisungen erzeugt:

Die Einschränkung der Suche auf die eigenen Seiten erfolgt über eine geeignete Spezifikation des oben angegebenen Parameterwertes URL: Dazu dient zum einen das Präfix inurl:..., das rechts vom : einen Verzeichnisnamen oder einen Pfad enthalten kann, oder sogar eine Verbindung von allen. Dies soll an den folgenden Beispielen demonstriert werden:

  • inurl:studienkolleg
  • inurl:/phil-fak/deutsch/

Verteilen sich die Dokumente auf mehrere Bereiche (Pfade oder Server), so können mehrere solcher inurl-Einschränkungen über OR verknüpft werden, zum Beispiel:

(inurl:rrzk+OR+inurl:themen+OR+inurl:/kurse)

Wichtig hinsichtlich der Syntax ist dabei, dass die Spezifikation keine Leerzeichen enthält. Statt dessen wird zum Beispiel die oder-Verknüpfung "OR" über "+" verbunden. Eventuelle "/" am Pfadende sind entbehrlich. Die komplette INPUT-Anweisung sieht für das Beispiel dann aus:

<INPUT type="hidden" name="as_q"
value="(inurl:rrzk+OR+inurl:themen+OR+inurl:/kurse)" />

Eine weitere Möglichkeit für die Einschränkung der Suche ist das Präfix "site:", welches die Suche auf eine (Sub-)Domain begrenzt. "site:" und "inurl:" können problemlos kombiniert werden.

<INPUT type="hidden" name="as_q" value="site:webapps.uni-koeln.de+inurl:kurse" />

Layout und Frontend

Das Layout der Suchergebnisseiten kann im beschränkten Maße vorgegeben werden. Was möglich ist, lässt sich an den Suchseiten für die gesamte Universität (google.uni-koeln.de) gut erkennen: im Wesentlichen der Kopf und der Fuß der Seiten. Insbesondere wird in der Regel im Kopf der Institutsname mit Angabe der Fakultät erscheinen sollen. Dies kann allerdings nicht von den Webmastern des Instituts vorgenommen werden, die die lokale Suche einbauen wollen, sondern nur durch die Webmaster des RRZK.

Dazu werden zwei Dateien benötigt:

  • HTML-Code für den Kopf
  • HTML-Code für den Fuß

Wichtig: externe Style Sheet-Dateien können nicht eingebunden werden, ebenso kein SHTML-Code.
Das heißt zum Beispiel, dass Formatierungen, die sonst in einer css-Datei festgelegt worden sind, an jeder Stelle über den Parameter <... style="..."> angegeben werden müssen.

Mit diesen wird von Webmaster ein "Google-Frontend" für das Institut eingerichtet. Dieses erhält einen Namen, beispielsweise idsl1 (für das Institut I für Deutsche Sprache und Literatur). Auf diesen Namen wird dann beim Aufruf der lokalen Google-Suche Bezug genommen.

  • Zum einen bei den form-Anweisungen für das oben aufgeführte Suchfeld. Dort ist default durch den Frontend-Namen zu ersetzen, also im Beispiel:
    name="client" value="idsl1_frontend"
    name="proxystylesheet" value="idsl1_frontend"
  • Zum anderen im HTML-Code für den Kopf der Suchseiten, dort für den Aufruf der fremdsprachigen Suchseiten, sofern solche bereitgestellt werden. Dort ist analog bei den Parametern des Google-Aufrufs der Name des Frontends anzupassen.

Es sei noch darauf aufmerksam gemacht, dass es bei der Konfigurierung eines Frontends noch weitere Möglichkeiten gibt, unter anderem ein Filter zur Einschränkung der Suche auf vorgegebene Server und Pfade (das allerdings wie oben beschrieben auch auf andere Weise möglich ist) und ein "Remove"-Filter zum Sperren von Verzeichnissen (das allerdings auch wie in der Übersichtsseite beschrieben mittels der Datei robots.txt möglich ist).

Die seitens des RRZK erforderlichen Arbeiten zur Erstellung eines Frontends sind hier dokumentiert

XML-Ausgabe

Sollen die Suchergebnisse in ein eigenes Seiten-Layout eingebettet werden oder sollen die Ergebnisse weiterverarbeitet werden, so bietet sich die XML-Ausgabe an. Dies ist aber nur sinnvoll, wenn die Suchanfrage und die Verarbeitung der Ergebnisse in ein Skript eingebettet ist, wobei der Google-Aufruf über ein "wget" erfolgen könnte. Dabei werden die oben in den <INPUT>-Tags angegebenen Parameter als Parameter beim Aufruf von Google übergeben. Das könnte dann so aussehen:

wget -O file http://google.uni-koeln.de/search?q=Suchbegriff&as_q=URL&client=default_frontend&output=xml&ie=iso-8859-1&hl=de

wenn der Aufruf über wget erfolgt und die XML-Ausgabe auf den angegebenen File erfolgen soll, oder in einem Beispiel:

wget -O ergebnis.xml http://google.uni-koeln.de/search?q=spss+kurs&as_q=www.uni-koeln.de/rrzk&client=default_frontend&output=xml&ie=iso-8859-1&hl=de

für die Suche nach "SPSS Kurs" auf den Seiten unterhalb "www.uni-koeln.de/rrzk", wobei die Ergebnisse in die Datei ergebnis.xml geschrieben werden.

Zu beachten ist, dass Sonderzeichen in Parameterwerten des query string der URL URL-kodiert (vgl. http://de.wikipedia.org/wiki/URL-Kodierung) beziehungsweise URL-escaped (vgl. http://www.uni-koeln.de/suche/google/doku/xml_reference.html#appendix_url_escaping) sein müssen. Die URL-Kodierung stellt jedes Byte eines Zeichens entsprechend dem verwendeten Zeichencode (meistens ISO-8859-1 oder UTF-8) als %-Zeichen gefolgt von 2 Hex-Ziffern dar, z.B. %e4 für ein ä im ISO-8859-1 (vgl. http://de.wikipedia.org/wiki/ISO-8859-1) Code, und %c3%a4 für ein ä im UTF-8 Unicode. Der verwendete Code wird als ie-Parameter (input encoding) im query string angegeben, als ISO-8859-1 oder UTF-8.

Darüber hinaus bietet Google SOAP-Schnittstellen, über die ein Extrakt des XML-Files erhältlich ist, das möglicherweise leichter zu verarbeiten ist. Zunächst kann ein SOAP-Array erzeugt werden, das leicht durch ein kleines Skript "lesbar" gemacht werden kann. Da hierfür individuelle kleinere Skripte erforderlich sind, müssen sich Interessenten mit Webmaster in Verbindung setzen, um dies nutzen zu können.

Als Dokumentation für die XML-Ausgabe dient das Google-Referenz-Manual.(Suchprotokollreferenz), wo ein großer Abschnitt der XML-Ausgabe gewidmet ist.

Sprachen

Google unterstützt derzeit 16 Sprachen. (Neben deutsch sind dies englisch, französisch, italienisch, dänisch, niederländisch, finnisch, norwegisch, portugisisch, spanisch, schwedisch, russisch, chinesisch (einfach und traditionell), japanisch und koreanisch.) Zum einen können für diese Sprachen angepasste Frontends (siehe oben) erstellt werden. Die Auswahl des entsprechenden Frontends erfolgt standardmäßig durch die Spracheinstellung des vom Benutzer verwendeten Browsers. Sie kann aber auch gezielt über einen Parameter im Link erfolgen (siehe unten). Das Frontend kann - muss aber nicht - dann so eingestellt werden, dass nur Dokumente in der eingestellten Sprache gesucht werden.

Die Erkennung der Sprache eines Dokuments erfolgt nicht über HTML-Spezifikationen, sondern durch Google über Texterkennung.

Eine Anmerkung zu dem Beispiel von Kopf und Fuß der RRZK-Suchseite: Diese wird in deutsch und englisch angeboten. Über den Button im Ankermenü rechts oben erfolgt der Sprachwechsel. Dort muss in den darunter liegenden Links die jeweils anderssprachige Suchseite verlinkt werden. Das setzt voraus, dass der oben angegebene HTML-Code für Kopf und Fuß auch in zwei Sprachen geliefert werden, die dann in zwei Sprachversionen des Frontends eingefügt werden. Die Verlinkung sieht dann wie folgt aus:
    http: //google.uni-koeln.de/search?&client=rrzk_frontend&output=xml_no_dtd&proxystylesheet=rrzk_frontend&hl=en&proxycustom=<HOME/>
erfolgt also ausschließlich über den Parameter hl=en bzw. hl=de.

Aufruf einer Suchseite und Parameter

Eine Standardsuchseite, die

  • ein Eingabefeld
  • Links auf die Komfortsuche
  • Links auf eine Hilfeseite

enthält, lässt sich über den folgenden Link aufrufen:

http://google.uni-koeln.de/search?&client=default_frontend&output=xml_no_dtd&proxystylesheet=default_frontend&hl=en

Die Spezifikationen default_frontend beziehen sich auf das oben angegebene Frontend. Mit default_frontend wird die Standardsuchseite der Uni gewählt, analog kann über den im vorigen Abschnitt erwähnten Namen des Frontends eine andere lokale Suchseite gewählt werden.

Über den Parameter hl wird die Sprache ausgewählt, zum Beispiel über hl=de die deutschsprachige Suchseite und hl=en die englischsprachige, soweit definiert.

Weitere Parameter können beim Aufruf übergeben werden. Eine (fast) komplette Liste enthält der Abschnitt Suchparameter der Referenzdokumentation. Diese Parameter können auch bei dem eingangs beschriebenen Suchfeld in Anweisungen der Art

<INPUT type="hidden" name="..." value="..."/>

verwendet werden, wobei name der Parametername und value die dazugehörige Spezifikation ist.

Contact
If you have any questions or problems, please contact the RRZK-Helpdesk
Phone: (0221) 470-89555