Suchargument

Suchargumentsyntax

Syntaxdiagramm lesenSyntaxdiagramm berspringen>>-+--------------------+--+-----------------------+------------>
   '-RESULT LIMIT--zahl-'  '-EXPANSION LIMIT--zahl-'

>--+----------------------------------------+------------------->
   '-STOP SEARCH AFTER--zahl--+-DOCUMENT--+-'
                              '-DOCUMENTS-'

>--+-| boolescher-suchausdruck |-+-----------------------------><
   '-| freitextargument |--------'

boolescher-suchausdruck:

|--+-| suchbegriff |-----------------------------------------------+--|
   '-| boolescher-suchausdruck |--| operator-or |--| suchbegriff |-'

suchbegriff:

|--+-| suchfaktor |------------------------------------------------+--|
   +-| suchbegriff |--| operator-and |--| suchfaktor |-------------+
   +-| suchbegriff |--| operator-accum |--| suchfaktor |-----------+
   '-| suchbegriff |--| operator-minus |--| positiver-suchfaktor |-'

suchfaktor:

|--+-----+--| positiver-suchfaktor |----------------------------|
   '-NOT-'

positiver-suchfaktor:

|--+-+------------------------------------------------------------+--| primärsuchbereich |-+--|
   | |                  .-,----------------------------------.    |                        |
   | |                  V                                    |    |                        |
   | '-+-SECTION--+--(----"abschnittsname"--+--------------+-+--)-'                        |
   |   '-SECTIONS-'                         '-WEIGHT--zahl-'                               |
   '-attributfaktor------------------------------------------------------------------------'

primärsuchbereich:

|--+-| textliteral |-------------------+------------------------|
   +-| kontextbedingung |--------------+
   +-| thesaurusaufruf |---------------+
   +-(--| boolescher-suchausdruck |--)-+
   '-(--| textliteralliste |--)--------'

operator-and:

|--&------------------------------------------------------------|

operator-or:

|--|------------------------------------------------------------|

operator-accum:

|--ACCUM--------------------------------------------------------|

operator-minus:

|--MINUS--------------------------------------------------------|

kontextbedingung:

|----| kontextargument |--| IN-SAME |--| kontexteinheit |--| AS |--| kontextargument |---->

>--+------------------------------+-----------------------------|
   | .--------------------------. |
   | V                          | |
   '---AND--| kontextargument |-+-'

kontextargument:

|--+-| textliteral |------------+-------------------------------|
   +-(--| textliteralliste |--)-+
   '-| thesaurusaufruf |--------'

textliteralliste:

   .-,-----------.
   V             |
|----textliteral-+----------------------------------------------|

kontexteinheit:

|--+-PARAGRAPH-+------------------------------------------------|
   '-SENTENCE--'

textliteral:

|--+-----------------------------------------+------------------>
   +-PRECISE-FORM-OF-------------------------+
   +-STEMMED-FORM-OF-------------------------+
   '-FUZZY-FORM-OF--+----------------------+-'
                    '-übereinstimmungsgrad-'

>--+--------------+--"wort-oder-phrase"------------------------->
   '-WEIGHT--zahl-'

>--+-------------------------+----------------------------------|
   '-ESCAPE--"escapezeichen"-'

thesaurusaufruf:

|--THESAURUS--"thesaurusname"--EXPAND--------------------------->

>--+-+-SYNONYM------------+--TERM OF--| textliteral |------------------+--|
   | +-RELATED------------+                                            |
   | '-RELATION--(nummer)-'                                            |
   '-+-BROADER--+--TERM OF--| textliteral |--+-----------------------+-'
     '-NARROWER-'                            '-FOR--zahl--+-LEVEL--+-'
                                                          '-LEVELS-'

attributfaktor:

|--ATTRIBUTE--"attributname"------------------------------------>

>--+-BETWEEN--anfangswert AND endwert-+-------------------------|
   +->--anfangswert-------------------+
   '-<--endwert-----------------------'

freitextargument:

|--IS-ABOUT--+---------+--"wort-oder-phrase"-------------------->
             '-sprache-'

>--+-------------------------+----------------------------------|
   '-ESCAPE--"escapezeichen"-'

Beispiele

Beispiele finden Sie in Angeben von SQL-Suchargumenten.

Suchparameter

RESULT LIMIT zahl
Ein Schlüsselwort, das die maximale Anzahl von Ergebnissen angibt, die durch die Volltextsuche zurückgegeben werden sollen.

Der Suchparameter RESULT LIMIT sollte zusammen mit der Funktion SCORE verwendet werden, um sicherzustellen, dass die zurückgegebenen Ergebnisse in der Quote berücksichtigt werden und nur die besten Ergebnisse verarbeitet werden.

EXPANSION LIMIT zahl
Ein Schlüsselwort, das angibt, wie häufig ein Begriff maximal für die Suche erweitert werden kann. Das Schlüsselwort gibt z. B. an, wie oft Sie den Suchbegriff 'a*' erweitern können.
STOP SEARCH AFTER zahl DOCUMENTS(S)
Ein Schlüsselwort, das einen Schwellenwert für die Suche angibt. Die Suche wird gestoppt, wenn die Anzahl von Dokumenten während der Suche erreicht wird, und ein Zwischenergebnis wird zurückgegeben. Ein niedrigerer Wert erhöht die Suchleistung, kann jedoch zu weniger Ergebnissen führen und Dokumente mit einem potenziell hohen Rang auslassen.

Beachten Sie, dass es keinen Standardwert gibt und der Wert zahl eine positive ganze Zahl sein muss.

boolescher-suchausdruck
Die Suchbegriffe und Suchfaktoren können mit den Booleschen Operatoren NOT, AND, OR, ACCUM und MINUS entsprechend den Syntaxdiagrammen kombiniert werden. Die Operatoren haben die folgende Vorrangfolge (Operatoren mit der höchsten Priorität zuerst): NOT> MINUS = ACCUM = AND > OR. Dies wird durch das folgende Beispiel veranschaulicht:
"Pilot" MINUS "Passagier" & "Fahrzeug" | "Verkehr" & "öffentlich"
Diese Angabe wird wie folgt ausgewertet:
(("Pilot" MINUS "Passagier") & ("Fahrzeug")) | ("Verkehr" & "öffentlich")
Der Operator ACCUM ergibt den Wert wahr, wenn eines der Booleschen Argumente wahr ist (was mit dem Operator OR vergleichbar ist). Der Rangfolgewert wird durch Akkumulieren der Rangfolgewerte aus beiden Operanden berechnet. Der Operator ACCUM besitzt die gleiche Bindungsvalenz (Vorrang) wie AND. Der Operator MINUS ergibt den Wert wahr, wenn der linke Operand als wahr ausgewertet wird. Der Rangordnungswert wird ermittelt, indem vom Rangordnungswert des linken Operanden ein Abzugsbetrag subtrahiert wird, wenn der rechte Operand als wahr ausgewertet wird.
primärsuchbereich
Eine Primärsuche, die aus einem Thesaurusaufruf besteht, wird als wahr ausgewertet, wenn eines der erweiterten Textliterale im angegebenen Abschnitt des Dokuments gefunden wird. Eine Primärsuche, die aus einer Textliteralliste besteht, wird als wahr ausgewertet, wenn eines der Textliterale im angegeben Abschnitt des Dokuments gefunden wird.
SECTION(S) abschnittsname

Ein Schlüsselwort, dass einen oder mehrere Abschnitte in einem strukturierten Dokument angibt, auf die die Suche begrenzt werden soll. Der Abschnittsname muss in einer Modelldatei definiert sein, die bei der Indexerstellung angegeben wird. Siehe CREATE INDEX.

Bei Abschnittsnamen wird die Groß-/Kleinschreibung unterschieden. Stellen Sie sicher, dass der Abschnittsname in der Modeldatei und in der Abfrage identisch angegeben werden.

Dieses Modell beschreibt die Struktur von Dokumenten, die identifizierbare Abschnitte enthalten, so dass der Inhalt dieser Abschnitte einzeln durchsucht werden kann. Abschnittsnamen können nicht durch Platzhalterzeichen maskiert werden. Der positive-suchfaktor in der Klausel SECTION wird als wahr ausgewertet, wenn der Primärsuchbereich in einem der Abschnitte gefunden wird.

kontextargument IN SAME kontexteinheit AS kontextargument AND kontextargument ...
Diese Bedingung gibt Ihnen die Möglichkeit, nach einer Kombination von Textliteralen zu suchen, die im gleichen Absatz oder im gleichen Satz vorkommen. Kontextargumente sind immer äquivalent zu Textliterallisten, und eine Thesauruserweiterung kann dazu verwendet werden, ein Textliteral zu einer solchen Liste zu erweitern.

Die Bedingung wird als wahr ausgewertet, wenn es eine Kontexteinheit (d. h. Absatz bzw. Satz) im Dokument gibt, die mindestens eines der Textliterale jedes der erweiterten Kontextargumente enthält. Dies wird durch das folgende Beispiel veranschaulicht:

("a","b") IN SAME PARAGRAPH AS ("c","d") 
          AND THESAURUS "t1" EXPAND SYNONYM TERM OF "e".

Unter der Annahme, dass e1, e2 Synonyme von e sind, würden folgende Absätze den Bedingungen entsprechen:

".. a c e .." ,  ".. a c e1..",  "a c e2..",
".. a d e .." ,  ".. a d e1..",  "a d e2..",
".. b c e .." ,  ".. b c e1..",  "b c e2..",
".. b d e .." ,  ".. b d e1..",  "b d e2..".
PRECISE FORM OF
Ein Schlüsselwort, dass bewirkt, dass das Wort (bzw. jedes Wort in der Phrase) nach PRECISE FORM OF genau in der angegebenen Form gesucht wird. Bei dieser Form der Suche wird die Groß-/Kleinschreibung unterschieden. Wenn Sie zum Beispiel nach dem Wort maus suchen, wird das Wort "Maus" nicht gefunden.
STEMMED FORM OF
Mit diesem Schlüsselwort wird das Wort (oder die einzelnen Wörter in der Phrase), das auf STEMMED FORM OF folgt, auf dessen Wortstamm zurückgeführt, bevor die Suche ausgeführt wird. Bei dieser Art der Suche wird die Groß-/Kleinschreibung nicht beachtet. Wenn Sie zum Beispiel nach dem Wort maus suchen, wird das Wort "Maus" gefunden.

Die Art und Weise, wie Wörter auf ihren Stamm zurückgeführt werden, hängt von der Sprache ab. Gegenwärtig wird diese Funktion nur für Englisch unterstützt, wobei das Wort die regulären Inflexionsendungen aufweisen muss.

FUZZY FORM OF
Mit diesem Schlüsselwort kann eine Suche nach "groben" Übereinstimmungen durchgeführt werden, d. h. eine Suche nach Begriffen, die eine dem Suchbegriff ähnliche Schreibweise besitzen. Dies ist besonders in Fällen nützlich, in denen Sie Dokumente durchsuchen, die von Programmen für optische Zeichenerkennung (OCR, Optical Character Recognition) erstellt worden sind. Derartige Dokumente enthalten häufig fehlerhaft geschriebene Wörter. Das Wort Ökonomie wird von einem OCR-Programm z. B. möglicherweise als Ökononie erkannt. Beachten Sie, dass die ersten drei Zeichen übereinstimmen müssen, und dass eine Suche nach groben Übereinstimmungen nicht verwendet werden kann, wenn ein Wort im Suchelement ein Platzhalterzeichen enthält.
übereinstimmungsgrad
Eine ganze Zahl aus dem Bereich von 1 bis 100, die den Grad der Ähnlichkeit angibt. Höhere Werte geben eine größere Ähnlichkeit an. 100 bedeutet eine "exakte Übereinstimmung", während 60 bereits als sehr "grobe Annäherung" betrachtet wird. Je grober der Übereinstimmungsgrad gewählt wird, desto länger dauert die Suche, da mehr Dokumente den Bedingungen der Suche entsprechen. Der Standardwert für den Übereinstimmungsgrad ist 70.
WEIGHT zahl
Ordnet einem Textliteral einen Gewichtungswert zu, um die Standardquote zu ändern. Die zulässigen Gewichtungswerte sind ganze Zahlen zwischen 0 (die niedrigste Quotengewichtung) und 1000 (die höchste Quotengewichtung). Der Standardwert ist 100.
wort-oder-phrase
Ein Wort oder eine Phrase, nach der gesucht wird. Die Zeichen, die innerhalb eines Worts verwendet werden können, hängen von der Sprache ab. Ob die Wörter durch Trennzeichen getrennt werden müssen, ist ebenfalls sprachabhängig. Im Englischen und in den meisten anderen Sprachen müssen die einzelnen Wörter in einer Phrase durch ein Leerzeichen getrennt werden.

Wenn eine Zeichenfolge gesucht werden soll, die doppelte Anführungszeichen enthält, geben Sie die doppelten Anführungszeichen zweimal ein. Wenn zum Beispiel der Text "Platzhalterzeichen" verwenden gesucht werden soll, geben Sie dies wie folgt an:

"""Platzhalterzeichen"" verwenden"

Beachten Sie, dass im Beispiel nur nach einem Paar von Anführungszeichen gesucht werden kann. Es ist nicht möglich, in einer Folge nach zwei Paaren von Anführungszeichen zu suchen. Für jedes Wort bzw. jede Phrase gilt außerdem eine Maximallänge von 128 Byte.

Platzhalterzeichen
Ein Wort kann die folgenden Platzhalterzeichen enthalten:
_ (Unterstreichung)
Steht für ein beliebiges Einzelzeichen.
% (Prozentzeichen)
Steht für eine beliebige Anzahl beliebiger Zeichen. Wenn ein Wort aus einem einzelnen Prozentzeichen % besteht, stellt es ein optionales Wort beliebiger Länge dar. Ein Wort kann nicht ausschließlich aus Platzhalterzeichen zusammengesetzt sein, es sei denn, Sie verwenden zur Darstellung eines optionalen Worts ein einzelnes Prozentzeichen (%). Wenn Sie ein Platzhalterzeichen verwenden, können Sie nicht auf den THESAURUS zurückgreifen. Platzhalterzeichen können nur auf alphanumerische Zeichen folgen.
ESCAPE escapezeichen
Ein Zeichen, dass das darauf folgende Zeichen als ein zu suchendes Zeichen, und nicht als Platzhalterzeichen kennzeichnet. Wenn zum Beispiel das Dollarzeichen ($) ein Escapezeichen ist, dann stellen die Ausdrücke $%, $_ und $$ die Zeichen %, _ bzw. $ an sich dar. Alle Prozentzeichen (%) und Unterstreichungszeichen (_), denen kein Dollarzeichen ($) vorangestellt ist, werden als Platzhalterzeichen interpretiert.

Bei der Suche dürfen Sie nur Einzelbytezeichen verwenden. Es sind keine Doppelbytezeichen erlaubt.

THESAURUS thesaurusname
Ein Schlüsselwort, das zur Angabe des Namens des Thesaurus dient, der zur Erweiterung eines Textliterals verwendet werden soll. Der Thesaurusname ist der Dateiname (ohne Erweiterung) eines Thesaurus, der mit Hilfe des Thesauruscompilers kompiliert wurde. Der Thesaurus muss sich im Verzeichnis <betriebssystemabhängig>/sqllib/db2ext/thes befinden. Alternativ kann auch der vollständige Pfad dem Dateinamen vorangestellt werden.
EXPAND relation
Gibt die Relation an, die zur Erweiterung des Textliterals mit Hilfe des Thesaurus verwendet werden soll. Der Thesaurus enthält vordefinierte Relationen, die im Befehl DB2EXTTH beschrieben sind. Diese werden mit den folgenden Schlüsselwörtern angegeben:
  • SYNONYM, eine symmetrische Beziehung, die Äquivalenz ausdrückt
  • RELATED, eine symmetrische Beziehung, die Zuordnung ausdrückt
  • BROADER, eine gerichtete hierarchische Beziehung, der angegebene Tiefengrade nachgestellt werden können
  • NARROWER, eine gerichtete hierarchische Beziehung, der angegebene Tiefengrade nachgestellt werden können
Benutzerdefinierte Relationen können mit der Option RELATION(nummer) angegeben werden, die der Relationsdefinition in DB2TEXTTH entspricht.
TERM OF textliteral

Das Textliteral, dem weitere Suchbegriffe aus dem Thesaurus hinzuzufügen sind.

zahl LEVELS

Ein Schlüsselwort, das zur Angabe der Anzahl von Ebenen (Tiefe) von Begriffen im Thesaurus verwendet wird, die verwendet werden sollen, um den Suchbegriff für eine gegebene Relation zu erweitern. Wenn Sie dieses Schlüsselwort nicht angeben, wird der Wert 1 angenommen. Der Wert des Tiefengrades muss eine positive ganze Zahl (INTEGER) sein.

ATTRIBUTE attributname
Sucht nach Dokumenten, die Attribute enthalten, die der angegebenen Bedingung entsprechen. Der Attributname bezieht sich auf den Namen eines Attributausdrucks im Befehl CREATE INDEX oder auf eine Attributdefinition in der Dokumentmodelldatei.

Der Attributfaktor ist nur für Attribute des Typs DOUBLE zulässig. Die Genauigkeit des Werts ist für 15 Stellen garantiert. Zahlen aus 16 Ziffern und mehr werden gerundet. Die Verwendung von Platzhalterzeichen ist in 'attributname', 'anfangswert' und 'endwert' nicht zulässig. Eine Erläuterung finden Sie in den folgenden Ausführungen:

BETWEEN anfangswert AND endwert
Ein Attributfaktor BETWEEN wird als wahr ausgewertet, wenn der Wert des Attributs größer als (nicht gleich) 'anfangswert' und kleiner als (nicht gleich) 'endwert' ist.
>anfangswert
Ein Attributfaktor ">" wird als wahr ausgewertet, wenn der Wert des Attributs größer als (nicht gleich) 'anfangswert' ist.
<endwert
Ein Attributfaktor "<" wird als wahr ausgewertet, wenn der Wert des Attributs kleiner als (nicht gleich) 'endwert' ist.
Wenn der Attributname im Befehl CREATE INDEX mit Anführungszeichen angegeben wird oder in einer Modelldatei definiert ist, muss der angegebene Name exakt übereinstimmen. Wenn hingegen keine Anführungszeichen im Befehl CREATE INDEX angegeben werden, muss der Attributname in Großbuchstaben angegeben werden.
IS ABOUT sprache wort-oder-phrase
Eine Option, mit der Sie ein Freitextsuchargument angeben können. Sie sollte verwendet werden, um eine andere Art von Quotenalgorithmus zu erhalten, da sie die Positionierung der Begriffe innerhalb der Dokumente prüft. Je näher die Begriffe in der Angabe für wort-oder-phrase beieinander liegen, desto mehr Begriffe werden in das Dokument miteinbezogen und desto höher ist der zurückgegebene Quotenwert (SCORE).

Die für die Sprachangabe zulässigen Werte werden in Anhang E. Unterstützte Sprachen beschrieben und sind nur für die thailändische Sprache relevant. Wenn die Sprache nicht angegeben wird, wird der Standardwert en_US verwendet. Die Sprache dient ausschließlich zur Tokenanalyse der Angabe wort-oder-phrase.

Beachten Sie, dass IS ABOUT nur von Nutzen ist, wenn die Quotenwerte angefordert werden und die Suchergebnisse nach Quotenwerten sortiert werden.