LIKE

Der Operator LIKE ist in erster Linie für den Einsatz in der Applikationsentwicklung vorgesehen. Er sucht nach Dokumenten, die einem oder mehreren vorgegebenen Dokumenten oder Texpassagen ähnlich sind. Die Suchmaschine analysiert den vorgegebenen Text, um die für die Suche wichtigsten Begriffe ausfindig zu machen. Wenn mehrere Texte vorgegeben werden, geht die Suchmaschine davon aus, dass alle diese Texte das gleiche Thema haben und wählt aus allen Texte Begriffe aus, die textübergreifend relevant sind. Die ermittelten Dokumente werden nach Relevanz gewichtet.

Der LIKE-Operator hat genau einen Operanden, die sogenannte QBE-Spezifikation (QBE = engl. "query-by-example"). Die QBE-Spezifikation kann entweder der wörtliche Text des angegebenen Beispiels oder die Spezifikation eines oder mehrerer ganzer Dokumente und Textpassagen sein, die als positive und negative Beispiele verwendet werden sollen.

Bitte beachten Sie folgendes: Enthält eine Suchanfrage oder ein als Beispiel angegebenes Dokument nur Stoppwörter, so ermittelt eine Anfrage mit dem LIKE -Operator keine Dokumente, d. h. das Suchergebnis enthält in diesem Fall keine Treffer.

Syntax

Dokumente werden als Textreferenzen spezifiziert, die in geschweifte Klammern eingeschlossen sind. Referenzen werden mit der folgenden Syntax angegeben:

{[name =]type:value [name=]type:value ...}

Die Variablen haben die folgende Bedeutung:

  • name kann entweder posex (positives Beispiel), oder negex (negatives Beispiel) sein. Ein negatives Beispiel reduziert das Gewicht von Begriffen, wenn diese in einem positiven Beispiel auftreten. Wenn Begriffe in einem negativen Beispiel nicht im positiven Beispiel vorkommen, so bleibt das negative Beispiel wirkungslos. (Ein negatives Beispiel hat für sich allein genommen folglich keinen Sinn). Die Variable name ist optional. Wird sie nicht angegeben, so wird name intern auf posex gesetzt. In diesem Fall darf auch das Gleichheitszeichen nicht angegeben werden.
  • type kann einer der folgenden Werte sein:
    • VdkVgwKey, um ein Dokument über seine externe ID zu referenzieren (d. h. die Versions-ID im Content Manager oder die Datei-ID in der Template Engine).
    • Text, um den Text direkt anzugeben.
  • value ist eine Referenz auf ein Textfragment, das als positives bzw. negatives Beispiel dient. Der Wert von value hängt vom Wert von type ab:
    • VdkVgwKey: die Dokument-ID (d. h. Versions- oder Datei-ID)
    • Text: Literaler Text.

Wenn type nicht angegeben wurde, wird der Wert value folgendermaßen interpretiert:

  • als literaler Text, wenn er mit einem Anführungszeichen beginnt;
  • als VdkVgwKey in allen anderen Fällen.

Der LIKE-Operator kann nach den gleichen Regeln mit anderen Operatoren kombiniert werden wie der Operator ACCRUE.

Beispiele

Die folgenden Beispiele illustrieren, wie der LIKE-Operator verwendet wird. Ganze Zahlen stellen immer eine Versions- oder Datei-ID dar.

Nur literaler Text:

<#LIKE> ("Nachts schlafen die Ratten doch.")

Explizite Angabe eines einzigen positiven Beispiels:

<#LIKE> ( "{posex=vdkvgwkey:650431}" )

Explizite Angabe mehrerer positiver und negativer Beispiele:

<#LIKE> ( "{posex=vdkvgwkey:7369 posex=vdkvgwkey:8457
negex=text:"freiwillige feuerwehr"}" )

Implizite Referenztypen:

<#LIKE> ("{posex=7369 posex=8457 negex=\"freiwillige feuerwehr\"}")

Implizite posex-Namen:

<#LIKE> ( "{vdkdocid:7369 vdkvgwkey:8457}" )

Implizite Referenztypen und implizite posex-Namen:

<#LIKE> ( "{#7369 8457}" )

Man kann eine Textreferenz mit literalem Text kombinieren:

<#LIKE> ( "{#7369 8457} und mehr text" )

Die vorige QBE ist äquivalent zu dieser:

<#LIKE> ( "{#7369 8457 text: \"und mehr text\"}" )

Die einfachste Art, ein einziges positives Beispiel mit Referenz auf eine ID anzugeben:

<#LIKE> ( "{650431}" )

Anführungszeichen, die in LIKE-Ausdrücken enthalten sind, müssen Rückwärts-Schrägstriche (Backslashes) vorausgehen. Der Backslash zeigt der Suchmaschine an, dass das darauf folgende Zeichen als literales Zeichen behandelt werden soll.

Überlegungen zur Effizienz

Um einen LIKE-Ausdruck zu verarbeiten, muss die Suchmaschine den gesamten Text der Beispiele in der QBE-Spezifikation analysieren. Dies kann sehr zeitaufwändig sein, insbesondere, wenn die Beispieldokumente groß sind oder aufwändig gefiltert werden müssen.