Zum Inhalt
Suchformulare Suchformular1 Suchformular2 Suchformular3 Suchformular 4 Suchformular5 Seiten der Entwickler

SUCHFORMULARE ERSTELLEN

Zur Suche im aktuell angezeigten Dokument und zur Suche im Internet findet man bei den verschiedenen Browsern geeignete Werkzeuge. Oft bieten die Browser auch an, die Suche auf deutsch geschriebene Seiten oder auf Seiten aus Deutschland einzuschränken, ebenso gibt es das Angebot, die Suche auf eine einzelne Domain, etwa ".uni-hamburg.de" einzuschränken. Schwieriger zu bewerkstelligen ist die Einschränkung auf einzelne Webverzeichnisse, die neben anderen auf einem Server liegen, also z.B. die Einschränkung der Suche auf die Seiten Ihres Webauftrittes. Andere Anwendungsbereiche der angebotenen htdig-Suchmaschine sind z.B. die Suche über unterschiedliche Webverzeichnisse auf unterschiedlichen Servern oder die Suche in Verzeichnissen, die nur für Zugriffe aus dem Netz der Universität Hamburg freigegeben sind.

htdig-Suchmaschine im RRZ

Das RRZ betreibt eine htdig-Suchmaschine, mit deren Hilfe eine Suche in einem oder mehreren Webverzeichnissen durchgeführt werden kann. Die Seiten müssen dazu auf einem Web-Server liegen, der von der htdig Suchmaschine indiziert wird, sie müssen nicht unbedingt auf einem Server im RRZ liegen. Welche Web-Server von der Suchmaschine zur Zeit indiziert werden, erfahren Sie von den Webmastern. Dort können Sie auch weitere Server bzw. Web-Verzeichnisse für die Indizierung anmelden.

Die htdig-Suchmaschine beachtet die Angaben in /robots.txt, indiziert werden nur solche Seiten, bei denen dies in dieser Datei nicht verboten wird.

Das Suchformular und die Suche

Für die Suche müssen Sie ein Suchformular bereitstellen, das kann eine eigene Seite sein, in der Regel wird das Formular aber nur in die Seiten Ihres Webauftrittes eingebunden. Ein Formular, mit dem Sie in allen von der Suchmaschine indizierten Seiten suchen können, ist:

  <form action="http://www1.uni-hamburg.de/cgi-bin/htdig/NEU/htsearch"">
  Suchbegriff:<br />
  <input name="words" size="30" type="text" /><br />
  <input value=""absenden"" type="text" />
  </form>

Nach den eingegebenen Suchbegriffen wird eine fuzzy-Suche durchgeführt, wenn Sie also als Suchbegriff eingeben: möglich, so wird auch nach mögliche, möglichst usw. gesucht.

Auf der Seite Suchformular1 sehen Sie, wie das generierte Formular aussieht und können es auch ausprobieren.

URL-Einschränkungen im Suchformular 

Das gezeigte Formular erfüllt noch nicht den versprochenen Zweck. Um die Einschränkung der Suche auf ein bestimmtes Webverzeichnis zu erreichen, miss noch ein restrict-Element eingefügt werden.

<form method="post" action=http://www1.uni-hamburg.de/cgi-bin/htdig/NEU/htsearch />
<input type="hidden" name="restrict" value="/www1.uni-hamburg.de/RRZ/Dienste/WWW-Server" />
Suchbegriff:<br />
<input type="text" name="words" size=30" />
<input type="submit" value="absenden" />
</form>

Durch den angegebenen restrict-Wert, wird die Suche auf Seiten eingeschränkt, in deren URL die Zeichenkette:

/www1.uni-hamburg.de/RRZ/Dienste/WWW-Server

vorkommt.

Komplexe URL-Einschränkungen

Die Entwicklung im Internet hat es mit sich gebracht, dass der Webauftritt mancher Institute über mehrere Verzeichnisse auf mehreren HTTP-Servern verteilt ist (statische Web-Seiten, Webapplikationen usw.). Im restrict-Wert können mehrere Ausdrücke durch ein | miteinander verknüpft werden (bei regulären Ausdrücken ist | ein oder-Operator). Dadurch lassen sich solche verteilten Webauftritte bei der Suche als Einheit behandeln. Im Suchformular3 ist der restrict-Wert mit:

//www1.uni-hamburg.de|//www.biologie.uni-hamburg.de/b-online

angegeben, es wird also der Bestand zweier Server durchsucht. Wenn Sie damit z.B. nach "text list" suchen, werden Sie sehen, dass es Treffer auf beiden Servern gibt. Man muss nicht unbedingt vollständige Servernamen oder Pfade angeben, im gegebenen Falle liefert der restrict-Wert:

www1|b-online

dieselben Ergebnisse, was natürlich daran geknüpft ist, dass die Zeichenkette "www1" nur im Servernamen von "www1.uni-hamburg.de" vorkommt und die Zeichenkette "b-online" eindeutig (unter allen indizierten Objekten) ein bestimmtes Webverzeichnis angibt. Da man dies als Autor von Formularen in der Regel nicht wissen kann, empfiehlt es sich, die Alternativen mit Servernamen und URL-Pfad anzugeben. 

Als Alternative kann man eine beliebige Zeichenkette angeben, ein Dokument wird nur dann als Treffer gefunden, wenn diese Zeichenkette in der URL des Dokumentes enthalten ist.

Prinzipiell könnte man, wenn es wohl auch nie notwendig sein wird, als restrict-Wert angeben:

http://www1.uni-hamburg.de|http://www.biologie.uni-hamburg.de/b-online

Ausdrücklich erwähnt sei, dass die eingegebenen Zeichenketten nicht als reguläre Ausdrücke (Muster) verwendet werden. restrict-Werte wie:

www\d
www[0-9]

werden literal interpretiert und sind nicht gleichwertig mit den Alternativen:

www1|www2|www3|www4|www5|www6|www7|www8|www9

und:

.html?

passt nicht auf htm und html, sondern auf die Zeichenkette .html?, wobei .html das Ende eines URL-Pfades und ? der Anfang eies query-Strings sein dürfte.

Alters-Einschränkungen

Wenn veraltete Seiten auf einem Server liegen ist es sinnvoll, wenn man die Leser vorgeben lässt, wie alt die gefundenen Treffer sein dürfen, besser ist es natürlich, diese alten Seiten zu entfernen. Die htdig-Suchmaschine ermöglicht eine Alters-Einschränkung der Suche über ein Eingabefelder mit Namen startyear, startmonth, startday, endyear, endmonth, endday. Als Wert kann entweder eine sinnvolle positive ganze Zahl oder aber eine negative ganze Zahl angegeben werden. Im zweiten Fall ergibt sich das Jahres-, Monats- bzw. Tagesdatum aus dem aktuellen Jahres-, Monats- bzw. Tagesdatum reduziert um den Betrag der eingegebenen Zahl. Geprüft wird das Datum der letzten Änderung der Dokumente.

Das betreffende Eingabefeld in Suchformular5 wird durch:

 <input type="text" name="startyear" size="4">

erzeugt. 

Verknüpfung der Suchbegriffe

In das mit words bezeichnete Eingabefeld können Sie, durch Leerstellen voneinander getrennt, mehrere Suchbegriffe eingeben. Zu regeln ist dann, wie diese Suchbegriffe miteinander verknüpft werden sollen. Die Default-Vorgabe ist dabei "und", ein Dokument wird also nur dann gefunden, wenn es jeden der eingegebenen Suchbegriffe enthält. Andere Verknüpfungsoperatoren können Sie mit method vorgeben. Mögliche Werte dafür sind:

Im folgenden Beispiel wird es dem Formular-Nutzer überlassen, welche Verknüpfungsart benutzt werden soll, der Wert von method wird mit Hilfe eines select-Tags bestimmt. Das Beispiel finden Sie auf der Seite Suchformular4.

     <form method="post" action="http://www1.uni-hamburg.de/cgi-bin/htdig/NEU/htsearch">
     <input type="hidden" name="restrict"
            value="//www1.uni-hamburg.de|//www.biologie.uni-hamburg.de/b-online">
<p>
Die Suche erfolgt in "www1.uni-hamburg.de/" und "www.biologie.uni-hamburg.de/b-online"
</p>
     <p>Suchbegriffe:<br />
     <input type="text" name="words" size=30"></p>
     <p>Wie sollen mehrere Suchbegriffe verknüpft werden?
     <select name="method">
     <option value="and"> and (implizit mit und)
     <option value="or"> or (implizit mit oder)
     <option value="boolean"> boolean
           (Verknüpfung wird explizit mit and, or und not vorgegeben).
     </select>
     </p><p>
     <input type="submit" value="absenden" Style="Background: green">
     </form>

Wenn Sie als Suchbegriffe "text line" eingeben (die Anführungsstriche gehören nicht mit zur Eingabe)  und als Verknüpfung "and" (Voreinstellung) wählen, erhalten Sie im Moment (Oktober 2007) etwa 850 Treffer, wenn Sie dieselben Suchbegriffe dagegen mit "or" verknüpfen, erhalten Sie im Moment etwa 12500 Treffer und müssen schon etwas auf das Ergebnis warten.

Dieselben Ergebnisse erhalten Sie in das Eingabefeld für die Suchbegriffe "text and line" bzw. "text or line" eintragen und dann als Verknüpfung "boolean" wählen. Zum "not" Operator bei der boolean Verknüpfung ist anzumerken, dass es sich dabei um eine zweistellige Verknüpfung handelt, der zwischen ihren Operanden anzugeben ist:

text not line

und die Bedeutung "und nicht" hat. Mit "text not line" findet man also alle Dokumente im vorgegebenen Suchbereich, die text enthalten aber nicht line. Wenn Sie diese Verknüpfungsmethode in einem Suchformular anbieten, müssen Sie Ihren Lesern dies sehr deutlich mitteilen, denn erfahrungsgemäß werden Anmerkungen zu Formularen häufig übersehen.

Umfang der Ausgabe zu einem Treffer

Den Umfang des ausgegebenen Textes zu einem Treffer geben Sie mit der Variablen "format" an, die  zumeist als "hidden-input" verwendet wird. Möglich sind die beiden Werte "builtin-long" (Default) und "buildin-short". Im Suchformular5 werden den Lesern die beiden Formate zur Auswahl angeboten. Beim kurzen Format erhalten Sie nur einen Link zum Treffer und eine Bewertung des Treffers in Form von Sternen (je mehr Sterne, desto besser sollte das gefundene Dokument zu Ihrer Suche passen). Beim langen Format erhalten Sie zusätzlich noch einen Textausschnitt, in dem die Suchbegriffe vorkommen.

Reihenfolge der Treffer-Ausgabe

Die Sortierreihenfolge, in der die Treffer ausgegeben werden, kann mit der Variablen "sort" vorgegeben werden. Mögliche Werte sind:

Anzahl der Treffer auf einer Ergebnisseite

Die Anzahl der Treffern je Ergebnisseite wird mit der Variablen "matchesperpage" vorgegeben. Der Default-Wert ist  10. Der Wert kann durch ein hidden Feld oder eine Auswahlliste eingestellt werden. In Suchformular5 wird das entspechende Eingabefeld erzeugt mit:

<p>Wieviele Treffer sollen pro Ausgabeseite angezeigt werden?<br />
<input type="text" size=3 name="matchesperpage" value=10 />

Der vorgegebene Wert 10 kann überschrieben werden.


config
Definiert den Namen der Konfigurationsdatei die htsearch verwenden soll. Angaben über den Pfad oder Extensions in Dateinamen sind nicht zulässig und werden ignoriert. Muß für benutzerdefinierte Suchseiten auf www.uni-koeln.de oder den verschiedenen virtuellen Servern immer user sein.

exclude
Suchergebnisse, die in der URL diesen String enthalten, werden nicht angezeigt. Über Leerzeichen separierte Liste von Mustern.

init
Interne Variable zur Logverarbeitung. Muß immer auf Y gesetzt sein.

keywords
Liste spezieller Schlüsselbegriffe, die in den Dokumenten enthalten sein müssen. Diese Begriffe werden dem Abfragestring über and hinzugefügt. Dem Benutzer kann die Auswahl der Schlüsselwörter über eine Auswahlliste gestattet werden.

 

usr
Name einer benuterdefinierten Konfiguration.
design, language, use_template
Weitere mögliche Attribute, die ganze Attributgruppen mit vordefinierten Werten vorbelegen. Siehe auch den Abschnitt Vordefinierte Konfigurationen

Bis auf config, usr und init können alle Parameter auch in einer Konfigurationsdatei definiert werden.