FAST Query Language (FQL)-Operatoren

Letzte Änderung: Freitag, 1. Juli 2011

Gilt für: SharePoint Server 2010

Inhalt dieses Artikels
Übersicht über die FQL-Operatoren
AND
ANDNOT
ANY
COUNT
DATETIME
ENDS-WITH
EQUALS
FILTER
FLOAT
INT
NEAR
NOT
ONEAR
OR
PHRASE
RANGE
RANK
STARTS-WITH
STRING
XRANK

Bei FAST Query Language (FQL)-Operatoren handelt es sich um Schlüsselwörter, mit denen boolesche Vorgänge oder andere Einschränkungen für Operanden angegeben werden. Für FQL-Operatoren gilt folgende Syntax:

[property-spec:]operator(operand [,operand]* [, parameter="value"]*)

Bei dieser Syntax gibt es folgende Bestandteile:

  • property-spec ist eine optionale Eigenschaftenspezifikation, auf die der IN-Operator folgt.

  • operator ist ein Schlüsselwort für einen auszuführenden Vorgang.

  • operand ist ein Ausdruck oder ein sonstiger Operator.

  • parameter ist der Name eines Werts, mit dem das Verhalten des Operators geändert wird.

  • value ist der für den Parameternamen zu verwendende Wert.

Bei Operatornamen, Parameternamen und Parametertextwerten wird die Groß-/Kleinschreibung nicht beachtet. Leerzeichen sind innerhalb des Operators zulässig, werden aber nur berücksichtigt, wenn sie in doppelte Anführungszeichen eingeschlossen sind.

Übersicht über die FQL-Operatoren

FQL unterstützt die folgenden Typen von Operatoren:

Typ

Beschreibung

Operatoren

Zeichenfolge

Ermöglicht das Angeben von Abfragevorgängen für Zeichenfolgen. Dies ist der gängigste Operator für Zeichenfolgen.

STRING

Boolesch

Ermöglicht das Kombinieren von Begriffen und Unterausdrücken in einer Abfrage.

AND, OR, ANY, ANDNOT, NOT, COUNT

Nähe

Ermöglicht das Angeben der Nähe der Abfragebegriffe in einer übereinstimmenden Textzeichenfolge

NEAR, ONEAR, PHRASE, STARTS-WITH, ENDS-WITH, EQUALS

Numerisch

Ermöglicht das Angeben numerischer Bedingungen in der Abfrage.

RANGE, INT, FLOAT, DATETIME,

Relevanz

Ermöglicht das Beeinflussen der Relevanzbewertung einer Abfrage.

RANK, XRANK, FILTER

In der folgenden Tabelle sind die unterstützten Operatoren aufgelistet.

Operator

Beschreibung

Typ

AND

Gibt nur Elemente zurück, die mit allen AND-Operanden übereinstimmen.

Boolesch

ANDNOT

Gibt nur Elemente zurück, die mit dem ersten Operanden übereinstimmen, nicht aber mit den folgenden Operanden.

Boolesch

ANY

Vergleichbar mit dem OR-Operator, nur dass die dynamische Rangfolge (die Relevanzbewertung im Resultset) weder von der Zahl der übereinstimmenden Operanden noch vom Abstand zwischen den Suchausdrücken im Element beeinflusst wird.

Boolesch

COUNT

Gibt an, wie oft ein Abfrageausdruck in einem Element vorhanden sein muss, um als Ergebnis zurückgegeben zu werden. Der Operand kann ein einzelner Abfragebegriff, ein Ausdruck oder ein Platzhalterabfrageausdruck sein.

Boolesch

DATETIME

Stellt explizite Typen für numerische Werte bereit.

Die explizite Typumwandlung ist optional und in der Regel nicht erforderlich. Der Typ des Abfrageausdrucks wird anhand des Typs der numerischen verwalteten Zieleigenschaft ermittelt.

Numerisch

ENDS-WITH

Gibt an, dass ein Wort oder Ausdruck am Ende einer verwalteten Eigenschaft vorhanden sein muss.

Nähe

EQUALS

Gibt an, dass ein Wort oder Ausdruck eine genaue Tokenübereinstimmung mit der verwalteten Eigenschaft aufweisen muss.

Nähe

FILTER

Wird zum Abfragen von Metadaten oder anderen strukturierten Daten verwendet.

Relevanz

FLOAT

Stellt explizite Typen für numerische Werte bereit.

Die explizite Typumwandlung ist optional und in der Regel nicht erforderlich. Der Typ des Abfrageausdrucks wird anhand des Typs der numerischen verwalteten Zieleigenschaft ermittelt.

Numerisch

INT

Stellt explizite Typen für numerische Werte bereit.

Die explizite Typumwandlung ist optional und in der Regel nicht erforderlich. Der Typ des Abfrageausdrucks wird anhand des Typs der numerischen verwalteten Zieleigenschaft ermittelt.

Numerisch

NEAR

Beschränkt das Resultset auf Elemente, die N Ausdrücke in einem bestimmten Abstand voneinander enthalten.

Näherung

NOT

Gibt nur Elemente zurück, die nicht mit dem Operanden übereinstimmen. Bei dem Operanden kann es sich um einen beliebigen gültigen FQL-Ausdruck handeln.

Boolesch

ONEAR

Die sortierte Variante von NEAR; die Ausdrücke müssen in der richtigen Reihenfolge übereinstimmen. Mit dem ONEAR-Operator kann das Resultset auf Elemente beschränkt werden, die N Ausdrücke in einem bestimmten Abstand voneinander enthalten.

Näherung

OR

Gibt nur Elemente zurück, die mit mindestens einem der OR-Operanden übereinstimmen. Je mehr der OR-Operanden übereinstimmen, umso höher die dynamische Rangfolge (die Relevanzbewertung im Resultset).

Boolesch

PHRASE

Gibt nur Elemente zurück, die mit einer genauen Tokenzeichenfolge übereinstimmen.

Nähe

RANGE

Ermöglicht Ausdrücke für die Bereichsübereinstimmung. Der RANGE-Operator wird für numerische verwaltete Eigenschaften und verwaltete Eigenschaften vom Typ Datum/Uhrzeit verwendet.

Numerisch

RANK

Ermöglicht das Anheben der dynamischen Rangfolge von Elementen basierend auf bestimmten Ausdrucksinstanzen, ohne zu ändern, welche Elemente mit der Abfrage übereinstimmen. Ein RANK-Ausdruck enthält eine Komponente, mit der eine Übereinstimmung vorhanden sein muss, und eine oder mehrere Komponenten nur für die dynamische Rangfolge.

Relevanz

STARTS-WITH

Gibt an, dass ein Wort oder Ausdruck am Anfang einer verwalteten Eigenschaft vorhanden sein muss.

Nähe

STRING

Definiert eine boolesche Übereistimmungsbedingung für eine Textzeichenfolge.

Zeichenfolge

XRANK

Ermöglicht das Anheben der dynamischen Rangfolge von Elementen basierend auf bestimmten Ausdrucksinstanzen, ohne zu ändern, welche Elemente mit der Abfrage übereinstimmen. Ein XRANK-Ausdruck enthält eine Komponente, mit der eine Übereinstimmung vorhanden sein muss, und eine oder mehrere Komponenten nur für die dynamische Rangfolge.

Dieser Operator ist mit dem RANK-Operator vergleichbar, weist jedoch unterschiedliche Leistungsmerkmale und eine unterschiedliche Kontrolle des Rangfolgenbeitrags auf.

Relevanz

AND

Gibt nur Elemente zurück, die mit allen AND-Operanden übereinstimmen. Bei den Operanden kann es sich um einen einzelnen Begriff oder beliebigen gültigen FQL-Unterausdruck handeln.

Syntax

and(operand, operand [, operand]*)

Parameter

Nicht zutreffend.

Beispiele

Beispiel 1. Mit dem folgenden Ausdruck werden übereinstimmende Elemente gesucht, für die der standardmäßige Volltextindex "cat", "dog" und "fox" enthält.

and(cat, dog, fox)

ANDNOT

Gibt nur Elemente zurück, die nur mit dem ersten Operanden und nicht mit den nachfolgenden Operanden übereinstimmen. Bei den Operanden kann es sich um einen einzelnen Begriff oder beliebigen gültigen FQL-Unterausdruck handeln.

Syntax

andnot(operand, operand [,operand]*)

Parameter

Nicht zutreffend.

Beispiele

Beispiel 1. Mit dem folgenden Ausdruck werden übereinstimmende Elemente gesucht, für die der standardmäßige Volltextindex "cat", aber nicht "dog" enthält.

andnot(cat, dog)

Beispiel 2. Mit dem folgenden Ausdruck werden übereinstimmende Elemente gesucht, für die der standardmäßige Volltextindex "dog", aber nicht "beagle" oder "chihuahua" enthält.

andnot(dog, beagle, chihuahua)

ANY

Vergleichbar mit dem OR-Operator, nur dass die dynamische Rangfolge (die Relevanzbewertung im Resultset) weder von der Zahl der übereinstimmenden Operanden noch vom Abstand zwischen den Suchausdrücken im Element beeinflusst wird. Bei den Operanden kann es sich um einen einzelnen Begriff oder beliebigen gültigen FQL-Unterausdruck handeln.

Die Komponente für die dynamische Rangfolge für diesen Teil der Abfrage basiert auf dem Ausdruck mit der besten Übereinstimmung innerhalb des ANY-Ausdrucks.

HinweisHinweis

Der Unterschied zu OR besteht nur bei der Rangfolge innerhalb des Resultsets. Insgesamt stimmen dieselben Elemente mit der Abfrage überein.

Syntax

any(operand, operand [,operand]*)

Parameter

Nicht zutreffend.

Beispiele

Beispiel 1. Mit dem folgenden Ausdruck werden übereinstimmende Elemente gesucht, für die der standardmäßige Volltextindex "cat" oder "dog" enthält.

Wenn der Index sowohl "cat" als auch "dog" enthält, aber "cat" als bessere Übereinstimmung betrachtet wird, basiert die dynamische Rangfolge des Elements auf "cat", und "dog" wird ignoriert.

any(cat, dog)

COUNT

Gibt an, wie oft ein Abfrageausdruck in einem Element vorhanden sein muss, um als Ergebnis zurückgegeben zu werden. Der Operand kann ein einzelner Abfragebegriff, ein Ausdruck oder ein Platzhalterabfrageausdruck sein.

Syntax

property-spec:count(operand [,from=<numeric value>, to=<numeric value>])

Parameter

Parameter

Wert

Beschreibung

from

<numerischer Wert>

Der Wert des from-Parameters muss eine positive ganze Zahl sein, die angibt, wie oft für den angegebenen Operanden mindestens eine Übereinstimmung vorhanden sein muss.

Wenn der from-Parameter nicht angegeben wird, gibt es keine Untergrenze.

to

<numerischer Wert>

Der Wert des to-Parameters muss eine positive ganze Zahl sein, die angibt, wie oft für den angegebenen Operanden maximal (nicht einschließlich) eine Übereinstimmung vorhanden sein muss. Beispielsweise bedeutet der Wert 11 für to maximal 10 Mal.

Wenn der to-Parameter nicht angegeben wird, gibt es keine Obergrenze.

Beispiele

Beispiel 1. Mit dem folgenden Ausdruck werden Übereinstimmungen mit mindestens 5 Instanzen des Worts "cat" gesucht.

count(cat, from=5)

Beispiel 2. Mit dem folgenden Ausdruck werden Übereinstimmungen mit mindestens 5 und maximal 9 Instanzen des Worts "cat" gesucht.

count(cat, from=5, to=10)

DATETIME

Stellt explizite Typen für numerische Datums-/Uhrzeitwerte bereit. Der Operand ist eine Datum/Uhrzeit-Zeichenfolge, die gemäß der in Abfrageausdrücke für Datum und Uhrzeit angegebenen Syntax formatiert ist.

Die explizite Typumwandlung ist optional und in der Regel nicht erforderlich. Der Typ des Abfrageausdrucks wird anhand des Typs der numerischen verwalteten Zieleigenschaft ermittelt.

Syntax

datetime(<date/time string>)

Parameter

Nicht zutreffend.

ENDS-WITH

Gibt an, dass ein Wort oder Ausdruck am Ende einer verwalteten Eigenschaft vorhanden sein muss (Grenzübereinstimmung).

Die Grenzübereinstimmung wird für numerische verwaltete Eigenschaften nicht unterstützt. Für numerische verwaltete Eigenschaften gilt immer die genaue Übereinstimmung oder die Wertbereichsübereinstimmung.

Für manche Anwendungen kann es erforderlich sein, dass nach einer genauen Übereinstimmung für eine verwaltete Eigenschaft gesucht werden kann. Beispielsweise die verwaltete Eigenschaft product name, bei der der vollständige Name eines Produkts eine Teilzeichenfolge eines anderen Produktnamens ist.

Syntax

ends-with(<term or phrase>)

Parameter

Nicht zutreffend.

Beispiele

Beispiel 1. Mit dem folgenden Ausdruck werden übereinstimmende Elemente mit den Werten "Mr Adam Jones" und "Adam Jones" in der verwalteten Eigenschaft "author" gesucht. Elemente mit dem Wert "Adam Jones sr" stellen keine Übereinstimmung dar.

author:ends-with("adam jones")

Hinweise

Die Grenzübereinstimmung kann auf den gesamten Text der verwalteten Eigenschaft angewendet werden, oder auf einzelne Zeichenfolgen innerhalb einer verwalteten Eigenschaft, die eine Liste von Zeichenfolgenwerten enthält, wie z. B. eine Liste von Namen. In diesem Fall möchten Sie nach Übereinstimmungen für den genauen Inhalt jeder Zeichenfolge suchen und die Abfrageübereinstimmung über Zeichenfolgengrenzen hinweg vermeiden.

Zum Anwenden von Grenzübereinstimmungsabfragen müssen Sie die entsprechende verwaltete Eigenschaft im Indexschema konfigurieren.

Das Aktivieren des Grenzübereinstimmungsfeatures für die verwaltete Eigenschaft ermöglicht Folgendes:

  • Verwenden expliziter Grenzübereinstimmungsabfragen.

  • Verhindern von Übereinstimmungen mit Ausdrücken über Zeichenfolgengrenzen hinweg. Für verwaltete Eigenschaften, die mehrere Zeichenfolgen enthalten, wird mit diesem Feature sichergestellt, dass eine Zeichenfolge nicht mit Wörtern vor oder nach einer Grenzangabe übereinstimmt.

EQUALS

Gibt an, dass ein Wort oder Ausdruck eine genaue Tokenübereinstimmung mit der verwalteten Eigenschaft aufweisen muss.

Syntax

equals(<term or phrase>)

Parameter

Nicht zutreffend.

Beispiele

Beispiel 1. Im folgenden Beispiel werden übereinstimmende Elemente mit den Werten "Adam Jones" in der verwalteten Eigenschaft "author" gesucht. Elemente mit den Werten "Adam Jones sr" oder "Mr Adam Jones" stellen keine Übereinstimmung dar.

author:equals("adam jones")

Hinweise

Siehe auch ENDS-WITH.

FILTER

Wird zum Abfragen von Metadaten oder anderen strukturierten Daten verwendet.

Die Verwendung des FILTER-Operators impliziert automatisch Folgendes für die angegebene Abfrage:

  • Die Linguistik wird auf linguistics="OFF" festgelegt.

  • Die Rangfolge wird deaktiviert.

  • In der Zusammenfassung mit Treffermarkierung wird für Abfrageergebnistreffer keine Abfragehervorhebung verwendet.

TippTipp

Wenn Sie den STRING-Operator in einem FILTER-Ausdruck verwenden, ist die Linguistik standardmäßig deaktiviert. Sie können die linguistische Verarbeitung innerhalb jedes STRING-Ausdrucks in FILTER mithilfe des Operanden linguistics="ON" aktivieren.

Syntax

filter(<any valid FQL operator expression>)

Parameter

Nicht zutreffend.

Beispiele

Beispiel 1. Mit dem folgenden Ausdruck werden übereinstimmende Elemente gesucht, deren verwaltete Eigenschaft title "sonata" und deren verwaltete Eigenschaft doctype nur das Token "audio" enthält. Es wird keine Suche nach linguistischen Übereinstimmen für "audio" ausgeführt. Da das FILTER-Token zur Suche nach einer Übereinstimmung mit "audio" verwendet wird, wird dieser Text in der Zusammenfassung mit Treffermarkierung nicht hervorgehoben.

and(title:sonata, filter(doctype:equals("audio")))

Hinweise

Wenn Sie die Abfrage auf die Übereinstimmung mit mindestens einem der vielen ganzzahligen Werte in einer numerischen Eigenschaft einschränken müssen, können Sie dazu zwei bezüglich ihrer Funktionalität gleichwertige Ausdrücke verwenden:

  • and(string("hello world"), filter(property-spec:or(1, 20, 453, ... , 3473)))

  • and(string("hello world"), filter(property-spec:int("1 20 453 ... 3473", mode="or")))

Im zweiten Beispiel wird der INT-Operator mit einer Zeichenfolge bestehend aus den numerischen Werten in doppelten Anführungszeichen verwendet. Dadurch wird beim Filtern vieler numerischer Werte die Abfrageleistung erheblich verbessert.

Wenn Sie viele Werte filtern müssen, sollten Sie eventuell numerische Werte anstelle von Zeichenfolgenwerten verwenden und diese optimierte Syntax für Abfragen einsetzen.

FLOAT

Stellt explizite Typen für numerische Gleitkommawerte bereit. Der Operand ist ein Gleitkommawert gemäß der in Numerische Ausdrücke angegebenen Syntax.

Die explizite Typumwandlung ist optional und in der Regel nicht erforderlich. Der Typ des Abfrageausdrucks wird anhand des Typs der numerischen verwalteten Zieleigenschaft ermittelt.

Syntax

float(<floating point value>)

Parameter

Nicht zutreffend.

INT

Stellt explizite Typen für ganzzahlige Werte bereit. Der Operand ist eine ganzzahliger Wert gemäß der in Numerische Ausdrücke angegebenen Syntax.

Die explizite Typumwandlung ist optional und in der Regel nicht erforderlich. Der Typ des Abfrageausdrucks wird anhand des Typs der numerischen verwalteten Zieleigenschaft ermittelt.

Mit dem INT-Operator können auch ganzzahlige Werte als Argumente für boolesche FQL-Operatoren angegeben werden. Dies stellt eine leistungseffiziente Methode dar, um ganzzahlige Werte in einer Abfrage bereitzustellen. Denn die mit dem INT-Operator übergebenen Werte werden vom FQL-Abfrageparser nicht analysiert, sondern direkt an die Abfrageübereinstimmungskomponente übergeben.

Syntax

int(<integer value>)

int("value, value, … , value")

Mit der ersten Syntax wird eine einzelne ganze Zahl angegeben. Mit der zweiten Syntax wird eine durch Trennzeichen getrennte Liste von ganzen Zahlen angegeben, die in doppelte Anführungszeichen eingeschlossen sind.

Parameter

Nicht zutreffend.

Beispiele

Beispiel 1. Wenn Sie die Abfrage auf die Übereinstimmung mit mindestens einem der vielen ganzzahligen Werte in einer numerischen Eigenschaft einschränken müssen, können Sie dazu den INT-Operator verwenden:

and(string("hello world"), filter(id:int("1 20 49 124 453 985 3473", mode="or")))

NEAR

Beschränkt das Resultset auf Elemente, die N Ausdrücke in einem bestimmten Abstand voneinander enthalten.

Die Reihenfolge der Abfrageausdrücke spielt für die Übereinstimmung keine Rolle, wichtig ist nur der Abstand.

Eine beliebige Anzahl von Ausdrücken kann mit NEAR-Operatoren kombiniert werden.

NEAR-Operanden können einzelne Wörter, Ausdrücke oder boolesche Ausdrücke mit OR- oder ANY-Operatoren sein. Die Eingabe von Platzhaltern ist möglich.

Wenn mehrere Operanden des NEAR-Operators mit demselben indizierten Token übereinstimmen, gelten sie als nahe beieinander.

Syntax

near(arg, arg [, arg]* [, N=<numeric value>])

Parameter

Parameter

Wert

Beschreibung

N

<numerischer Wert>

Gibt die maximal zulässige Anzahl von Wörtern zwischen den Ausdrücken an (explizite Nähe).

Wenn NEAR mehr als zwei Operanden enthält, wird die maximal zulässige Anzahl von Wörtern zwischen den Ausdrücken (N) innerhalb des gesamten Abfrageausdrucks gezählt.

Standard: 4

Beispiele

Beispiel 1. Mit dem folgenden Ausdruck werden übereinstimmende Zeichenfolgen gesucht, die sowohl "cat" als auch "dog" enthalten und die durch maximal vier indizierte Token (Standard) getrennt sind.

near(cat, dog)

Beispiel 2. Mit dem folgenden Ausdruck werden übereinstimmende Zeichenfolgen gesucht, die "cat", "dog", "fox" und "wolf" enthalten und die durch maximal vier indizierte Token getrennt sind.

near(cat, dog, fox, wolf)

In der folgenden Tabelle finden Sie Beispiele für Zeichenfolgenwerte von verwalteten Eigenschaften und Angaben dazu, ob sie mit dem vorherigen Ausdruck in Beispiel 2 übereinstimmen.

Übereinstimmung?

Text

Ja

The picture shows a cat, a dog, a fox, and a wolf.

Ja (mit Wortstammerkennung)

Dogs, foxes, and wolves are canines, but cats are felines.

Nein

The picture shows a cat with a dog, a fox, and a wolf.

Der folgende Ausdruck stimmt mit allen Zeichenfolgen in der vorherigen Tabelle überein.

near(cat, dog, fox, wolf, N=5)

Beispiel 3. Mit dem folgenden Ausdruck wird nach einer Übereinstimmung mit einer verwalteten Eigenschaft gesucht, die nur das indizierte Token "clarinet" enthält, da sowohl "c*t" und "clarinet" übereinstimmen und als nahe beieinander gelten, auch wenn beide Suchtoken mit demselben indizierten Token übereinstimmen.

near("c*t", "clarinet")

Hinweise

Überlegungen zum Abstand von Ausdrücken bei NEAR/ONEAR

N gibt die maximal zulässige Anzahl von Wörtern zwischen den Abfrageausdrücken innerhalb des übereinstimmenden Segments des Elements an. Wenn NEAR oder ONEAR mehr als zwei Operanden enthält, wird die maximal zulässige Anzahl von Wörtern zwischen den Abfrageausdrücken (N) innerhalb des Elementsegments gezählt, das mit allen NEAR- oder ONEAR-Ausdrücken übereinstimmt.

NEAR oder ONEAR wird für mit Token versehenen Text ausgeführt. Dies bedeutet, dass Sonderzeichen wie Komma (","), Punkt ("."), Doppelpunkt (":") oder Semikolon (";") als Leerzeichen behandelt werden. Der Begriff "Abstand" bezieht sich auf Token innerhalb des indizierten Texts.

Wenn Sie ONEAR oder NEAR mit Gleichheitsoperanden verwenden, funktioniert der Operator wie folgt:

near(a, a, n=x)

Diese Abfrage gibt immer true zurück, wenn mindestens eine Instanz von ''a'' im Kontext vorhanden ist. Dies bedeutet auch, dass NEAR nicht als COUNT-Operator verwendet werden kann. Weitere Informationen zum Zählen von Ausdrucksinstanzen finden Sie unter COUNT-Operator.

Wenn NEAR auf Ausdrücke angewendet wird, werden auch überlappende Ausdrücke im Text als Übereinstimmungen gefunden.

Wenn ein Token im übereinstimmenden Segment mit mehr als einem Operanden des NEAR- oder ONEAR-Ausdrucks übereinstimmt, werden mit der Abfrage möglicherweise Übereinstimmungen gefunden, selbst wenn die Anzahl nicht übereinstimmender Token innerhalb des übereinstimmenden Segments den Wert 'N' im Ausdruck des NEAR- oder ONEAR-Operators überschreitet. Eine Überlappung können z. B. überlappende Ausdrücke sein. Wenn die Anzahl von Tokenüberlappungsübereinstimmungen gleich 'O' ist, wird mit der Abfrage eine Übereinstimmung gefunden, falls maximal 'N+O' nicht übereinstimmende Token im übereinstimmenden Segment des Elements vorhanden sind.

NEAR oder ONEAR** mit NOT**

Der NOT-Operator kann nicht innerhalb des NEAR- oder ONEAR-Operators verwendet werden. Die folgende FQL-Syntax ist ungültig:

near(audi,not(bmw),n=2)

NOT

Gibt nur Elemente zurück, die nicht mit dem Operanden übereinstimmen. Bei dem Operanden kann es sich um einen beliebigen gültigen FQL-Ausdruck handeln.

Syntax

not(operand)

Parameter

Nicht zutreffend.

ONEAR

Die sortierte Variante von NEAR; die Ausdrücke müssen in der richtigen Reihenfolge übereinstimmen. Mit dem ONEAR-Operator kann das Resultset auf Elemente beschränkt werden, die N Ausdrücke in einem bestimmten Abstand voneinander enthalten.

Syntax

onear(arg, arg [, arg]* [, N=<numeric value>])

Parameter

Parameter

Wert

Beschreibung

N

<numerischer Wert>

Gibt die maximal zulässige Anzahl von Wörtern zwischen den Ausdrücken an (explizite Nähe).

Wenn ONEAR mehr als zwei Operanden enthält, wird die maximal zulässige Anzahl von Wörtern zwischen den Ausdrücken (N) innerhalb des gesamten Abfrageausdrucks gezählt.

Standard: 4

Beispiele

Beispiel 1. Mit dem folgenden Ausdruck werden Übereinstimmungen mit allen Instanzen der Wörter "cat", "dog", "fox" und "wolf" gesucht, die in dieser Reihenfolge angegeben sind und durch maximal vier indizierte Token getrennt sind.

onear(cat, dog, fox, wolf)

In der folgenden Tabelle finden Sie Beispiele für Zeichenfolgenwerte von verwalteten Eigenschaften und Angaben dazu, ob sie mit dem vorherigen Ausdruck übereinstimmen.

Übereinstimmung?

Text

Ja

The picture shows a cat, a dog, a fox, and a wolf.

Nein

Dogs, foxes, and wolves are canines, but cats are felines.

Nein

The picture shows a cat with a dog, a fox, and a wolf.

Beispiel 2. Der folgende Ausdruck stimmt (mit Wortstammerkennung) mit dem Text der zweiten Zeile der vorherigen Tabelle überein.

onear(dog, fox, wolf, cat, N=5)

Beispiel 3. Der folgende Ausdruck stimmt mit dem Text in der ersten und dritten Zeile der vorherigen Tabelle überein.

onear(cat, dog, fox, wolf, N=5)

Hinweise

Siehe auch NEAR.

OR

Gibt nur Elemente zurück, die mit mindestens einem der OR-Operanden übereinstimmen. Je mehr der OR-Operanden übereinstimmen, umso höher die dynamische Rangfolge (die Relevanzbewertung im Resultset). Bei den Operanden kann es sich um einen einzelnen Begriff oder beliebigen gültigen FQL-Unterausdruck handeln.

Syntax

or(operand, operand [,operand]*)

Parameter

Nicht zutreffend.

Beispiele

Beispiel 1. Mit dem folgenden Ausdruck werden alle übereinstimmenden Elemente gesucht, für die der standardmäßige Volltextindex entweder "cat" oder "dog" enthält. Wenn der standardmäßige Volltextindex eines Elements sowohl "cat" als auch "dog" enthält, stimmt er überein und hat eine höhere dynamische Rangfolge, als wenn er nur eines der Token enthalten würde.

or(cat, dog)

PHRASE

Sucht nach einer genauen Tokenzeichenfolge.

PHRASE-Operanden können einzelne Begriffe sein. Die Angabe von Platzhaltern ist möglich.

Syntax

phrase(term [, term]*)

Parameter

Nicht zutreffend.

Hinweise

Siehe auch STRING.

RANGE

Der RANGE-Operator wird für numerische verwaltete Eigenschaften und verwaltete Eigenschaften vom Typ Datum/Uhrzeit verwendet. Dieser Operator ermöglicht Ausdrücke für die Bereichsübereinstimmung.

Syntax

range(start, end [,from="GE"|"GT"] [,to="LE"|"LT"])

Parameter

Parameter

Wert

Beschreibung

start

<numerischer Wert>|<Datums-/Uhrzeitwert>

Der Wert für den Bereichsanfang.

Verwenden Sie das reservierte Wort min, um anzugeben, dass der Bereich keine Untergrenze aufweist.

stop

<numerischer Wert>|<Datums-/Uhrzeitwert>

Der Wert für das Bereichsende.

Verwenden Sie das reservierte Wort max, um anzugeben, dass der Bereich keine Obergrenze aufweist.

from

GE|GT

Ein optionaler Parameter zum Angeben des Intervallbeginns.

Gültige Werte:

  • GE  Größer oder gleich dem Startwert (>= Intervallbeginn).

  • GT  Größer als der Startwert (> Intervallbeginn).

Standard: GE

to

LE|LT

Ein optionaler Parameter zum Angeben des Intervallendes.

Gültige Werte:

  • LE  Kleiner oder gleich dem Endwert (<= Intervallende).

  • LT  Kleiner als der Endwert (< Intervallende).

Standard: LT

Beispiele

Beispiel 1 Der folgende Ausdruck stimmt mit einer Beschreibungseigenschaft überein, die mit "olympic games" beginnt und in Elementen mit mindestens 10.000 Bytes vorhanden ist.

and(size:range(10000, max), description:starts-with("olympic games"))

RANK

Ermöglicht das Anheben der dynamischen Rangfolge von Elementen basierend auf bestimmten Ausdrucksinstanzen, ohne zu ändern, welche Elemente mit der Abfrage übereinstimmen. Ein RANK-Ausdruck enthält eine Komponente, mit der eine Übereinstimmung vorhanden sein muss, und eine oder mehrere Komponenten nur für die dynamische Rangfolge.

Es gibt zwischen den Operatoren RANK und XRANK die folgenden Unterschiede:

  • XRANK ist wesentlich effizienter als RANK, wenn Ausdrücke in den RANK-Operanden viele Treffer generieren.

  • Für XRANK kann die Heraufstufungsebene zum Abfragezeitpunkt über den boost-Parameter festgelegt werden.

  • Mit XRANK wird ein konstanter Rangfolgenwert hinzugefügt, während mit RANK ein den Operanden zugeordneter Rangfolgenwert hinzugefügt wird.

  • Mit XRANK wird Elementen eine Rangfolge hinzugefügt, die keine dynamische Rangfolge erhalten haben.

  • Die XRANK-Operanden können auch für verwaltete Eigenschaften (nicht nur für Volltextindizes) verwendet werden.

Der RANK-Operator akzeptiert mindestens zwei Operanden. Der erste Operand ist der Hauptabfrageausdruck für die Suche nach einer Übereinstimmung. Er trägt wie jeder Begriff oder Ausdruck zum Rückruf oder zur Genauigkeit bei. Die nachfolgenden Operanden tragen zur Heraufstufung der dynamischen Rangfolge bei, haben aber keine Auswirkungen darauf, welche Elemente mit der Abfrage übereinstimmen. Bei den Operanden kann es sich um einzelne Begriffe oder einen beliebigen gültigen FQL-Unterausdruck handeln.

Der RANK-Operator kann nur für Volltextindizes verwendet werden.

Syntax

rank(operand, rank-operand [, rank-operand]*)

Parameter

Nicht zutreffend.

Beispiele

Beispiel 1. Mit dem folgenden Ausdruck werden übereinstimmende Elemente gesucht, für die der Index "dog" enthält. Mit diesem Ausdruck wird die dynamische Rangfolge eines Elements angehoben, wenn dessen Index auch "cat" enthält. Ist im Index "cat", aber nicht "dog" vorhanden, stimmt das Element nicht mit dem Ausdruck überein.

rank(dog, cat)

Beispiel 2. Mit dem folgenden Ausdruck werden übereinstimmende Elemente gesucht, für die der Index "dog" enthält. Mit diesem Ausdruck wird die dynamische Rangfolge eines Elements angehoben, wenn dessen Index auch "boxer" oder "pointer" enthält.

rank(dog, boxer, pointer)

Beispiel 3. Mit dem folgenden Ausdruck werden Übereinstimmungen mit denselben Elementen wie im vorherigen Ausdruck gesucht, aber die dynamische Rangfolge eines Elements wird angehoben, wenn der Index auch den Ausdruck "thoroughbred beagle" enthält.

rank(dog, "thoroughbred beagle")

Beispiel 4. Mit dem folgenden Ausdruck werden übereinstimmende Elemente gesucht, für die die verwaltete Eigenschaft title sowohl "dog" als auch "beagle" enthält. Mit diesem Ausdruck wird die dynamische Rangfolge von Elementen erhöht, für die die verwaltete Eigenschaft title auch das indizierte Token "thoroughbred" enthält.

and(title:dog, rank(title:beagle, title:thoroughbred))

STARTS-WITH

Gibt an, dass ein Wort oder Ausdruck am Anfang einer verwalteten Eigenschaft vorhanden sein muss.

Syntax

starts-with(<term or phrase>)

Parameter

Nicht zutreffend.

Beispiele

Beispiel 1. Mit dem folgenden Ausdruck werden übereinstimmende Elemente mit den Werten "Adam Jones sr" und "Adam Jones" in der verwalteten Eigenschaft author gesucht. Elemente mit dem Wert "Mr Adam Jones" stellen keine Übereinstimmung dar.

author:starts-with("adam jones")

Hinweise

Zusätzliche Hinweise zur Grenzübereinstimmung finden Sie unter ENDS-WITH.

STRING

Definiert eine boolesche Übereistimmungsbedingung für eine Textzeichenfolge.

Der Operand ist eine Textzeichenfolge (einer oder mehrere Ausdrücke), für die eine Übereinstimmung gesucht wird. Auf die Zeichenfolge folgen keine oder mehrere Parameter.

Der STRING-Operator kann auch als Typkonvertierung verwendet werden. Beispielsweise wird mit der Abfrage string("24.5") der numerische Wert "24.5" als Textzeichenfolge behandelt.

Syntax

string("<text string>"

      [, mode=<mode>]

      [, n=<near>]

      [, weight=<n>]

      [, linguistics=<on|off>]

      [, wildcard=<on|off>]

      [, minexpansion=<n>]

      [, maxexpansion=<n>]

      [, annotation_class=<annotation_string>])

Parameter

Parameter

Wert

Beschreibung

mode

<Modus>

Der mode-Parameter gibt an, wie der Wert <Textzeichenfolge> ausgewertet werden soll. In der folgenden Tabelle sind gültige Werte aufgelistet.

Mode

Äquivalenter Operatorausdruck

"PHRASE"

phrase(term [,term]*)

"AND"

and(term, term [,term]*)

"OR"

or(term, term [,term]*)

"ANY"

any(term, term [,term]*)

"NEAR"

near(term, term [,term]*, N)

"ONEAR"

onear(term, term [,term]*, N)

"SIMPLEALL"

Die Zeichenfolge wird gemäß der "ALL"-Syntax von SQL (Simple Query Language) formatiert. Ausführliche Informationen finden Sie unter FQL-Simple Query Language.

"SIMPLEANY"

Die Zeichenfolge wird gemäß der "ANY"-Syntax von SQL formatiert. Ausführliche Informationen finden Sie unter FQL-Simple Query Language.

Standard: "PHRASE"

n

<numerischer Wert>

Dieser Parameter gibt den maximalen Abstand zwischen Ausdrücken für mode="NEAR" oder mode="ONEAR" an.

Die folgenden Ausdrücke sind gleichwertig:.

string("hello world", mode="NEAR", n=5)

near(hello, world, n=5)

Standard: 4

weight

<numerischer Wert>

Dieser Parameter ist ein positiver numerischer Wert zur Angabe der Ausdrucksgewichtung für die dynamische Rangfolge.

Ein niedrigerer Wert bedeutet, dass ein Ausdruck in geringerem Maß zur Rangfolge beitragen soll. Ein höherer Wert bedeutet, dass ein Ausdruck in höherem Maß zur Rangfolge beitragen soll. Mit dem Wert 0 für diesen Parameter wird angegeben, dass ein Ausdruck keine Auswirkung auf die dynamische Rangfolge haben soll.

Der weight-Parameter gilt für alle Elemente des STRING-Ausdrucks.

TippTipp

Der weight-Parameter betrifft nur Volltextindexabfragen.

Standard: 100.

linguistics

on|off

Deaktiviert/aktiviert alle linguistischen Features für die Zeichenfolge (Lemmatisierung, Synonyme, Rechtschreibprüfung), falls sie für die Abfrage aktiviert sind.

Mit diesem Parameter können Sie die linguistische Verarbeitung für einen Ausdruck oder eine Zeichenfolge ausschalten, während der Ausdruck oder die Zeichenfolge weiterhin zur Rangfolge beitragen soll.

Standard: "ON"

wildcard

on|off

Dieser Parameter steuert die Platzhaltererweiterung von Ausdrücken innerhalb der <Textzeichenfolge>. Diese Einstellung überschreibt Platzhaltereinstellungen in Abfrageparametern und ermöglicht das Aktivieren bzw. Deaktivieren erweiterter Platzhalterzeichen für bestimmte Teile der Abfrage.

Folgende Werte sind gültig:

  • "ON"  Gibt an, dass die Zeichen "?" und "*" als Platzhalter ausgewertet werden. Das Platzhaltereichen "?" entspricht einem einzelnen Zeichen, und das Platzhaltereichen "*" entspricht null oder mehr Zeichen.

  • "OFF"  Gibt an, dass die Zeichen "?" und "*" nicht als Platzhalter ausgewertet werden.

Standard: "ON"

minexpansion

<positive_ganze_Zahl>

Dieser Parameter definiert die minimale Länge einer Teilzeichenfolge bei der Platzhaltererweiterung.

Der Wert von <Zeichenfolge> muss ein Platzhalterausdruck mit einem einzelnen Sternchen sein.

Standard: 0

maxexpansion

<positive_ganze_Zahl>

Dieser Parameter definiert die maximale Länge einer Teilzeichenfolge bei der Platzhaltererweiterung.

Der Wert von <Zeichenfolge> muss ein Platzhalterausdruck mit einem einzelnen Sternchen sein.

Standard: infinity

annotation_class

<Anmerkungszeichenfolge>

Mit dem STRING-Parameter annotation_class="user" wird einem STRING-Knoten eine Anmerkung hinzugefügt, um darauf hinzuweisen, dass dieser Knoten vom Benutzer generiert wird.

Bestimmte Relevanzfeatures werden nur auf den vom Benutzer generierten Teil der Abfrage angewendet. Hierzu gehören die Abfrageheraufstufung basierend auf Ankertext sowie Durchklickabfrageprotokolle.

Beispiele

Beispiel 1. Der Standardzeichenfolgenmodus ist "PHRASE", weshalb mit jedem der folgenden Ausdrücke dieselben Ergebnisse zurückgegeben werden.

"what light through yonder window breaks"
string("what light through yonder window breaks")
string("what light through yonder window breaks", mode="phrase")
phrase(what, light, through, yonder, window, breaks)

Beispiel 2. Der folgende Zeichenfolgentokenausdruck und der Ausdruck mit dem AND-Operator geben dieselben Ergebnisse zurück.

string("cat dog fox", mode="and")
and(cat, dog, fox)

Beispiel 3. Der folgende Zeichenfolgentokenausdruck und der Ausdruck mit dem OR-Operator geben dieselben Ergebnisse zurück.

string("coyote saguaro", mode="or")
or(coyote, saguaro)

Beispiel 4. Der folgende Zeichenfolgentokenausdruck und der Ausdruck mit dem ANY-Operator geben dieselben Ergebnisse zurück.

string("coyote saguaro", mode="any")
any(coyote, saguaro)

Beispiel 5. Der folgende Zeichenfolgentokenausdruck und der Ausdruck mit dem NEAR-Operator geben dieselben Ergebnisse zurück.

string("coyote saguaro", mode="near")
near(coyote, saguaro)

Beispiel 6. Der folgende Zeichenfolgentokenausdruck und der Ausdruck mit dem NEAR-Operator geben dieselben Ergebnisse zurück.

string("cat dog fox wolf", mode="near", N=4)
near(cat, dog, fox, wolf, N=4)

Beispiel 7. Der folgende Zeichenfolgentokenausdruck und der Ausdruck mit dem ONEAR-Operator geben dieselben Ergebnisse zurück.

string("cat dog fox wolf", mode="onear")
onear(cat, dog, fox, wolf)

Beispiel 8. Das Fragezeichen ("?") und das Sternchen ("*") werden als Platzhalterzeichen ausgewertet, weshalb der folgende Zeichenfolgentokenausdruck Übereinstimmungen mit "cat", "cot" und einem beliebigen anderen mit drei Buchstaben indizierten Token, das mit "c" beginnt und mit "t" endet, findet.

string("c?t")
string("c*t")

Beispiel 9. Mit dem folgenden Zeichenfolgentokenausdruck werden Übereinstimmungen für das Wort "nobler" mit deaktivierten linguistischen Features gesucht, weshalb für andere Wortformen (wie z. B. "ennobling") nicht mithilfe der Wortstammerkennung Übereinstimmungen gefunden werden.

string("nobler", linguistics="off")

Beispiel 10. Mit dem folgenden Ausdruck werden übereinstimmende Elemente gesucht, die "cat" oder "dog" enthalten. Mit diesem Ausdruck wird aber die dynamische Rangfolge von Elementen, die das Wort "dog" enthalten, stärker angehoben als vergleichsweise von Elementen, die das Wort "cat" enthalten.

or(string("cat", weight="200"), string("dog", weight="500"))

Beispiel 11. Mit dem folgenden Ausdruck werden Übereinstimmungen für alle Begriffe gesucht, die mit "prefix" beginnen und mit "suffix" enden, wobei die Teilzeichenfolge zwischen "prefix" und "suffix" maximal 4 Zeichen lang ist.

string("prefix*suffix",maxexpansion=4)

Beispiel 12. Mit dem folgenden Zeichenfolgentokenausdruck werden Übereinstimmungen für die Wörter "microsoft corporation" gesucht. Durch Hinzufügen des annotation_class-Parameters wird sichergestellt, dass für Elemente mit exakt dem gleichen Ankertext in einem Link, der auf das Element verweist, eine zusätzliche Rangfolgenheraufstufung vorgenommen wird.

string("Microsoft corporation", annotation_class="user")

Hinweise

Relevanzgewichtung für die dynamische Rangfolge

Der weight-Parameter hat in erster Linie Auswirkungen auf Abfragen mit OR. Er kann auch gewisse Auswirkungen auf Abfragen mit AND haben. Der Algorithmus für die dynamische Rangfolge kann implizieren, dass unterschiedliche Ausdrücke einen unterschiedlichen Rangfolgenbeitrag leisten, je nachdem, wo im Element die Ausdrucksübereinstimmung auftritt.

Der unterschiedliche Rangfolgenbeitrag kann auch auf der Häufigkeit von Ausdrücken und der umgekehrten Häufigkeit von Elementen basieren. Es folgt ein Beispiel:

  • Abfrage: and(string("a"), string("b", weight=200))

  • Indexschema: Die verwaltete Eigenschaft title hat eine stärke Gewichtung als die verwaltete Eigenschaft body.

  • Indexelement 1 enthält das Zeichen 'a' im Titel und das Zeichen 'b' im Text.

  • Indexelement 2 enthält das Zeichen 'a' im Text und das Zeichen 'b' im Titel.

In diesem Beispiel erhält Element 2 die höchste Gesamtrangfolge, da die Elemente mit einem höheren dynamischen Rangfolgenbeitrag sogar noch stärker heraufgestuft werden.

TippTipp

Die relative Ausdrucksheraufstufung (positiv oder negativ) wird auf die dynamische Rangfolgenkomponente der Gesamtrangfolge angewendet. Die Rangfolgenberechnungen der Näherungsheraufstufung (Abstand zwischen Wörtern) sind jedoch nicht von der Ausdrucksgewichtung betroffen. Die relative Gewichtung bedeutet nicht immer, dass die Gesamtrangfolge des Elements gemäß dem vorliegenden Prozentsatz geändert wird.

Mit der folgenden Abfrage wird nach den Wörtern "peter", "paul" oder "mary" gesucht, wobei "peter" den doppelten Beitrag zur Rangfolge leistet wie die beiden anderen Wörter.

or(peter, string("paul mary", mode="OR", weight=50))

Zeichenfolgen mit Sonderzeichen

Sonderzeichen wie Komma (","), Semikolon (";"), Doppelpunkt (":"), Punkt ("."), Minuszeichen ("-"), Unterstrich ("_") oder Schrägstrich ("/") werden innerhalb eines Zeichenfolgenausdrucks als Leerzeichen behandelt, wenn sie in doppelte Anführungszeichen eingeschlossen sind. Dies ist ähnlich wie beim Tokenisierungsprozess. Diese Zeichen beinhalten auch eine implizite Anordnung der durch diese Zeichen getrennten Token.

Die folgenden Abfrageausdrücke sind gleichwertig.

title:string("animals birds", mode="phrase")
title:"animals/birds"
title:string("animals/birds", mode="and")
title:string("animals/birds", mode="or")

Die folgenden Abfrageausdrücke sind gleichwertig.

title:or(string("animals birds", mode="phrase"),
         string("animals insects", mode="phrase"))
title:string("animals/birds animals/insects", mode="or")

Die folgenden Abfrageausdrücke sind gleichwertig.

body:string("help contoso com", mode="phrase")
body:string("help@contoso.com")

Ausdrucksübereinstimmung unter Verwendung von Token

Mit dem STRING-Operator in Verbindung mit mode="phrase" oder dem PHRASE-Operator können Sie nach einer genauen Tokenzeichenfolge suchen.

Alle derartigen Ausdrucksvorgänge implizieren eine Ausdrucksübereinstimmung unter Verwendung von Token. Dies bedeutet, dass Sonderzeichen wie Komma (","), Semikolon (";"), Doppelpunkt (":"), Unterstrich ("_"), Minuszeichen ("-") oder Schrägstrich ("/") als Leerzeichen behandelt werden. Dies ist ähnlich wie beim Tokenisierungsprozess.

XRANK

Ermöglicht das Anheben der dynamischen Rangfolge von Elementen basierend auf bestimmten Ausdrucksinstanzen, ohne zu ändern, welche Elemente mit der Abfrage übereinstimmen. Ein XRANK-Ausdruck enthält eine Komponente, mit der eine Übereinstimmung vorhanden sein muss, und eine oder mehrere Komponenten nur für die dynamische Rangfolge.

Es gibt zwischen den Operatoren RANK und XRANK die folgenden Unterschiede:

  • XRANK ist wesentlich effizienter als RANK, wenn Ausdrücke in den RANK-Operanden viele Treffer generieren.

  • Für XRANK kann die Heraufstufungsebene zum Abfragezeitpunkt über den boost-Parameter festgelegt werden.

  • Mit XRANK wird ein konstanter Rangfolgenwert hinzugefügt, während mit RANK ein den Operanden zugeordneter Rangfolgenwert hinzugefügt wird.

  • Mit XRANK wird Elementen eine Rangfolge hinzugefügt, die keine dynamische Rangfolge erhalten haben.

  • Die XRANK-Operanden können auch für verwaltete Eigenschaften (nicht nur für Volltextindizes) verwendet werden.

Der XRANK-Operator akzeptiert mindestens zwei Operanden. Bei den Operanden kann es sich um einzelne Begriffe oder einen beliebigen gültigen FQL-Unterausdruck handeln.

Der erste Operand ist der Hauptabfrageausdruck für die Suche nach einer Übereinstimmung. Er trägt wie jeder Begriff oder Ausdruck zum Rückruf oder zur Genauigkeit bei.

Die nachfolgenden Operanden haben keine Auswirkungen auf die Gesamtanzahl der übereinstimmenden Elemente. Sie wirken sich jedoch derart auf die dynamische Rangfolge aus, dass für Elemente, die innerhalb der folgenden Operanden mit Ausdrücken übereinstimmen, die Rangfolge innerhalb des Resultsets heraufgestuft wird. Bei mehr als einem nachfolgenden Operanden wird bei einer Übereinstimmung mit jedem Operanden ein Heraufstufungswert n der Gesamtrangfolge des Elements hinzugefügt.

Dieser Operator dient zum Heraufstufen des dynamischen Rangs gemäß bestimmter gefundener Textbegriffe an Stellen, an denen diese Begriffe keine Übereinstimmung geliefert haben.

Der XRANK-Operator kann für Volltextindizes und verwaltete Eigenschaften verwendet werden.

XRANK unterstützt die unäre Heraufstufung. xrank(a,boost=n) fügt den Heraufstufungswert n allen Elementen hinzu, die mit a übereinstimmen. Mithilfe dieser Syntax können Sie mehrere XRANK-Ausdrücke mithilfe des Operators AND oder ANY kombinieren.

Syntax

xrank(operand, rank-operand [, rank-operand]* [,boost=n] [,boostall=yes])

Parameter

Parameter

Wert

Beschreibung

boost

<numerischer Wert>

Gibt an, dass die dynamische Rangfolge übereinstimmender Elemente um den angegebenen Wert erhöht wird.

Die dynamische Rangfolgenkomponente ist nicht niedriger als null (negative Rangfolgenergebnisse werden nicht unterstützt). Aufgrund der statischen Rangfolgenkomponente können Sie dennoch ein positives Rangfolgenergebnis erhalten.

Standard: 100

boostall

yes|no

Gibt an, ob die Anhebung der dynamischen Rangfolge für Elemente gilt, die noch keine dynamische Rangfolge haben.

  • yes  Gibt an, dass die Anhebung der dynamischen Rangfolge für alle übereinstimmenden Elemente gilt, selbst wenn sie noch keine dynamischen Rangfolgenwerte haben.

  • no  Gibt an, dass die Anhebung der dynamischen Rangfolge nur für jene übereinstimmenden Elemente gilt, die bereits dynamische Rangfolgenwerte haben.

Standard: no

Beispiele

Beispiel 1. Mit dem folgenden Ausdruck werden übereinstimmende Elemente gesucht, für die der standardmäßige Volltextindex entweder "cat" oder "dog" enthält. Mit diesem Ausdruck wird die dynamische Rangfolge jener Elemente, die auch das Wort "thoroughbred" enthalten, angehoben.

xrank(or(cat, dog), thoroughbred)

Beispiel 2. Mit dem folgenden Ausdruck werden übereinstimmende Elemente gesucht, für die der standardmäßige Volltextindex entweder "cat" oder "dog" enthält. Mit diesem Ausdruck wird die dynamische Rangfolge jener Elemente, die das Wort "thoroughbred" enthalten, anstelle des Standardwerts von 100 um den Wert 500 angehoben. Dies gilt auch für Elemente, die vorher keine Rangfolge hatten.

xrank(or(cat, dog), thoroughbred, boost=500, boostall=yes)

Siehe auch

Konzepte

Übersicht über die FAST Search-Abfrageintegration

Referenz zur FAST Query Language-Syntax (FQL)

FQL-Eigenschaftenspezifikation

FQL-Tokenausdrücke

FQL-Simple Query Language

FQL-Syntax-Referenz (ABNF)