Suchausdrücke

Mit einem Suchausdruck (der im Folgenden auch "Suchanfrage" genannt wird) werden die Kriterien festgelegt, nach denen der Search Server eine Suche durchführt. Die Bestandteile eines Suchausdrucks sind Suchwörter, Operatoren und Modifikatoren:


Operatoren und Modifikatoren sind Schlüsselwörter, die man in Suchausdrücken verwenden kann, um die Beziehung zwischen Suchwörtern festzulegen. Nur solche Dokumente, in denen die Suchwörter die angegebene Beziehung zueinander haben, können als Treffer im Suchergebnis erscheinen. So wird mit dem Suchausdruck

pflaumen <#AND> <#NOT> bananen

nach Dokumenten gesucht, die das Suchwort pflaumen, nicht jedoch das Suchwort bananen enthalten. Schlüsselwörter sollten grundsätzlich in spitze Klammern eingeschlossen werden. Wenn Sie die Search Engine mit deutscher Ländereinstellung betreiben, muss jedem Schlüsselwort ein Doppelkreuz vorangestellt werden. Bei der englischen Ländereinstellung ist dies nicht erforderlich.

Bei Operator- und Modifikatornamen unterscheidet die Search Engine nicht zwischen Groß- und Kleinschreibung. Suchwörter werden im Folgenden auch "Suchbegriffe" genannt.

Parser

Die Search Engine ist mit drei sogenannten Parsern ausgestattet, die die Suchanfragen der Benutzer analysieren und entsprechende Suchaktionen ausführen. Die Parser unterscheiden sich in der Art und Weise, wie sie Suchausdrücke analysieren und interpretieren. Jeder der drei Parser ist auf konkrete Anwendungssituationen zugeschnitten. Man kann den zu verwendenden Parser in XML-Suchanfrage-Requests an den Search Engine Server angeben und folglich je nach Benutzer-Zielgruppe in seinen Suchformularen eine mehr oder weniger umfangreiche Suchsyntax bereitstellen.

Ein Parser sollte nicht mit der von ihm unterstützten Suchsyntax gleichgesetzt werden. So kann man beispielsweise im einfachen Parser sowohl Anfragen in einfacher Syntax als auch in expliziter Syntax stellen. Ferner sind in expliziter Syntax Anfragen in mehreren Notationen erlaubt.

Einfacher Parser

Der einfache Parser ist universell, weil er sowohl Anfragen in einfacher Syntax als auch in expliziter Syntax zulässt. Der Parser wird bevorzugt in Umgebungen eingesetzt, in denen Benutzer mit möglichst geringem Aufwand möglichst gute Suchergebnisse erhalten sollen.

Der einfache Parser wandelt einfache Anfragen in explizite Anfragen um, wobei er sie um sinnvolle Operatoren ergänzt. Jedes Suchwort wird mit dem Modifikator MANY und dem Operator STEM versehen.

  • MANY sorgt dafür, dass ein Dokument umso höher gewichtet wird, je größer die Dichte ist, mit der das Suchwort im Dokument vorkommt. Die Dichte ist ein relatives Maß, das das Verhältnis der Vorkommenshäufigkeit der Suchbegriffe zur Textmenge des Dokuments angibt.
  • STEM bewirkt, dass die Suche auch Wörter umfasst, die abgeleitete Varianten des Suchwortes sind.

Gibt ein Benutzer durch Kommas getrennte Suchwörter ein, so werden die Wörter mit dem ACCRUE-Operator kombiniert. Dieser Operator gewichtet Dokumente umso höher, je größer die absolute Vorkommenshäufigkeit der Suchwörter in den Dokumenten ist. Eine Anfrage wie

apfel, banane, orange

wird vom einfachen Parser demnach folgendermaßen umgewandelt:

<#accrue>(<#many><#stem>apfel, <#many><#stem>banane, <#many><#stem>orange)

Expliziter Parser

Der explizite Parser gestattet nur Suchanfragen in expliziter Syntax. Er ist für Umgebungen konzipiert, in denen Suchanfragen programmgesteuert erzeugt werden. Die Benutzer wählen in solchen Umgebungen die auf die eingegebenen Suchwörter anzuwendenden Operationen beispielsweise mit Auswahlkästchen aus, anstatt eine Suchanfrage mit Operatoren zu versehen.

Suchanfragen in expliziter Syntax werden in Präfix- oder Infix-Notation gestellt:

  • Die Präfix-Notation macht den Vorrang von Operatoren durch Klammerung explizit. So ist der Ausdruck <#OR> (a, <#AND> (b, c)) eine Suchanfrage nach Dokumenten, die sowohl die Suchwörter b und c oder das Suchwort a enthalten.
  • Bei der Infix-Notation ist der Vorrang von Operatoren implizit, d. h. durch die Operatoren selbst vorgegeben, es sei denn, der Vorrang wird durch Klammerung geändert. Dies betrifft insbesondere die Operatoren AND und OR , von denen OR den geringeren Vorrang hat. Dokumente werden also erst auf Suchbegriffe untersucht, die mit AND verknüpft sind, bevor sie auf OR -verknüpfte Suchbegriffe getestet werden. Beispiel: a <#AND> b <#OR> c sucht nach Dokumenten, die sowohl a und b oder c enthalten.

Hier ein Beispiel für Präfix-Notation:

<#paragraph>("fahrzeug", <#sentence>("sicherheit", <#phrase>("kein", "kompromiss")))

In Infix-Notation wird diese Anfrage folgendermaßen gestellt:

"fahrzeug" <#paragraph> "sicherheit" <#sentence> "kein" <#phrase> "kompromiss"

Literaler Text

Wenn Sie einzelne Wörter in doppelte Anführungszeichen einschließen, interpretiert der explizite Parser die Wörter, literal, d. h. wörtlich. Dadurch, dass Sie beispielsweise das Wort "film" ausdrücklich in doppelte Anführungszeichen einschließen, werden Wörter wie "filmt", "gefilmt" oder "filmen" bei der Suche nicht berücksichtigt:

"film"

Die Anführungszeichen sind ein syntaktisches Element der expliziten Syntax, die im einfachen und im expliziten Parser verwendet werden kann. Das folgende Beispiel ermittelt Dokumente, die die Wortfolge "Pharmazeutische Betriebe" und das Wort "Aktien" literal enthalten:

<#AND> ("Pharmazeutische Betriebe ", "Aktien ")

Im folgenden Beispiel wird nach Dokumenten gesucht, die die Wortfolge "schwarz und weiß" enthält:

<#PHRASE> (schwarz "und" weiß)

Das Wort "und" muss von doppelten Anführungszeichen umgeben sein, weil es andernfalls in einer Umgebung mit deutscher Ländereinstellung als Operator interpretiert würde.

Wenn Sie den Namen eines Themas (topic) in doppelte Anführungszeichen einschließen, so interpretiert ihn die Search Engine wörtlich und nicht als Themennamen. Auf diese Weise können Sie nach Wörtern suchen, die gleichzeitig Themennamen sind.

Freitext-Parser

Der Freitext-Parser erlaubt es, Suchanfragen zu stellen, die Sätze oder Teilsätze sind. Er behandelt sämtlichen Text als Folge von Suchwörtern. Operatoren werden folglich nicht erkannt.

Der Freitext-Parser generiert aus einer Suchanfrage eine Anfrage in expliziter Syntax, indem er unwichtige Wörter wie Artikel, Präpositionen und Konjunktionen aus der Anfrage entfernt und Suchwörter zu Wortfolgen verbindet. Der Parser ist dafür vorgesehen, dass Benutzer Ihre Anfragen in Form kurzer Fragen stellen können.

Mit dem FREETEXT-Operator kann die Freitext-Funktionalität auch im einfachen oder expliziten Parser verwendet werden.