Share via


FQL-Tokenausdrücke

Letzte Änderung: Freitag, 4. November 2011

Gilt für: SharePoint Server 2010

Inhalt dieses Artikels
Platzhalterausdrücke
Numerische Ausdrücke
Reservierte Wörter und Sonderzeichen

Tokenausdrücke sind Wörter, Ausdrücke oder numerische Werte, die mit dem Index verglichen werden.

Ein Texttokenausdruck kann ein einzelnes Wort oder ein Ausdruck sein, das bzw. der in Anführungszeichen eingeschlossen ist.

Ein numerischer Tokenausdruck kann ein einzelner Wert oder ein Wertbereichsausdruck sein.

Platzhalterausdrücke

Ein Platzhalterausdruck bezeichnet einen einzelnen Begriff oder Ausdruck, der einen oder mehrere der folgenden Platzhalterzeichen enthält:

  • Sternchen ("*") für die Übereinstimmung mit 0 oder mehr Zeichen (ohne Leerzeichen)

  • Fragezeichen ("?") für die Übereinstimmung mit einem einzelnen Zeichen (ohne Leerzeichen)

FAST Query Language (FQL) unterstützt die Platzhaltersuche für verwaltete Eigenschaften mit individuellem Text sowie für Volltextindizes.

Beispiele für Platzhalterausdrücke

Mit dem folgenden Abfrageausdruck werden Elemente gefunden, die das Wort "Shakespeare" enthalten:

shak?sp*r*

Es folgt eine Liste der Verwendungsmöglichkeiten von Platzhalterausdrücken in FQL:

  • text*

  • *text

  • *text*

  • te?t

  • *te?t

  • string("this examp*")

  • string("this *ample")

  • string("this *ampl*")

  • string("this exam?le")

  • string("thi* exam?le")

HinweisHinweis

Die vorherigen Beispiele enthalten gültige FQL-Platzhaltersyntax. Sie sollten die Verwendung von Ausdrücken vermeiden, die Übereinstimmungen mit vielen Wörtern im Index aufweisen, wie beispielsweise Ausdrücke, die mit einem Platzhalterausdruck beginnen. Solche Abfragen können verwendet werden, wenn Sie verwaltete Eigenschaften mit einer begrenzten Menge von Inhalt abfragen. In der Regel werden jedoch keine Ergebnisse zurückgegeben, falls Sie einen Volltextindex abfragen.

Leerzeichen sind nicht als Übereinstimmung für Platzhalter möglich. Die folgende Tabelle enthält Beispiele für Platzhalterausdrücke, die möglicherweise nicht die erwarteten Übereinstimmungen ergeben.

Tabelle 1. Beispiele für Platzhalterausdrücke und die Übereinstimmung mit Inhalt

Abfrage

Keine Übereinstimmung für Abfrage

string("this*examp*", mode="PHRASE")

string("this?example", mode="PHRASE")

"This example text shows wildcard terms"

Das Leerzeichen wird nicht als Übereinstimmung für den Platzhalterausdruck gefunden.

string("Example?This", mode="PHRASE")

"Example:This is some text"

Der Doppelpunkt wird nicht als Übereinstimmung für den Platzhalterausdruck gefunden. Der Doppelpunkt wird als Leerzeichen behandelt.

Optional können Sie mit den STRING-Parametern minexpansion und maxexpansion den Bereich der Platzhaltererweiterung angeben. Die folgenden Ausdrücke sind gleichwertig.

any("prefix","prefix?","prefix??","prefix???","prefix????")

string("prefix*",maxexpansion=4)

Numerische Ausdrücke

Jeder numerische Ausdruck muss eine Eigenschaftsspezifikation eines kompatiblen Indexschemadatentyps enthalten. In der folgenden Tabelle werden die numerischen Datentypen aufgelistet, die in FQL verwendet werden können.

Tabelle 2. In FQL verwendbare numerische Datentypen

FQL-Typ

Kompatible Indexschematypen

Beschreibung

Int

Integer

Eine ganze Zahl mit 64 Bits.

float

Float

Decimal

Eine Gleitkommazahl mit 64 Bits (doppelte Genauigkeit).

Datetime

Datetime

Ein Datums- und Uhrzeitwert.

Die Unterstützung von Datum/Uhrzeit in FQL ermöglicht dieselben numerischen Operationen für Datums-/Uhrzeitwerte wie für andere numerische Werte.

Abfrageausdrücke für Datum und Uhrzeit

In FQL gibt es den datetime-Datentyp für Datum und Uhrzeit.

Die folgenden ISO 8601-kompatiblen datetime-Formate werden in Abfragen unterstützt:

  • JJJJ-MM-TT

  • JJJJ-MM-TTThh:mm:ss

  • JJJJ-MM-TTThh:mm:ssZ

Bei diesen datetime-Formaten gilt Folgendes:

  • JJJJ steht für eine vierstellige Jahresangabe.

    HinweisHinweis

    Nur vierstellige Jahreszahlen werden unterstützt.

  • MM steht für eine zweistellige Monatsangabe. Beispiel: 01 = Januar.

  • TT steht für eine zweistellige Angabe für den Tag des Monats (01 bis 31).

  • T steht für den Buchstaben "T".

  • hh steht für eine zweistellige Angabe der Stunden (00 bis 23); A.M./P.M. (für Vormittag bzw. Nachmittag) ist nicht zulässig.

  • mm steht für eine zweistellige Angabe der Minuten (00 bis 59).

  • ss steht für eine zweistellige Angabe der Sekunden (00 bis 59).

Alle Datums-/Uhrzeitwerte müssen als UTC-Angabe (koordinierte Weltzeit) angegeben werden. Die Angabe der UTC-Zeitzone (nachgestelltes Zeichen "Z") ist optional.

Reservierte Wörter und Sonderzeichen

Die folgenden Wörter sind in FQL reserviert.

and, or, any, andnot, count, decimal, rank, near, onear, int, in32, int64, float, double, datetime, max, min, range, phrase, scope, filter, not, string, starts-with, ends-with, equals, count

Wenn Sie diese Wörter als Ausdrücke in einem Abfrageausdruck verwenden möchten, müssen Sie sie wie in den folgenden Beispielen gezeigt in doppelte Anführungszeichen einschließen:

  • or("any", "and", "rank")

  • string("any and rank", mode="OR")

  • phrase(this, is, a, "phrase")

TippTipp

Bei reservierten Wörtern und Zeichen wird die Groß-/Kleinschreibung nicht beachtet, aber für die zukünftige Kompatibilität wird die Verwendung von Kleinbuchstaben empfohlen.

Für FQL muss eine Zeichenfolge nicht immer in doppelte Anführungszeichen eingeschlossen werden. Beispielsweise ist and(cat, dog) in FQL gültig, obwohl cat und dog nicht in doppelten Anführungszeichen stehen. Es wird jedoch empfohlen, doppelte Anführungszeichen zu verwenden, um Konflikte mit reservierten Wörtern zu vermeiden.

Die Abfrageausdrücke werden gemäß dem eingestellten Gebietsschema mit Token versehen. Bei der Tokenisierung werden bestimmte Sonderzeichen entfernt. Da Sonderzeichen entfernt werden, sind die folgenden FQL-Ausdrücke gleichwertig.

and("[king]", "<queen>")

and("king", "queen")

Wenn eine Abfrage Ausdrücke aus Benutzereingaben oder einer anderen Anwendung enthält, sollten Sie den string("<query terms>", mode="AND|OR|PHRASE")-Operator verwenden, um Konflikte mit reservierten Wörtern in der Abfragesprache zu vermeiden. Außerdem müssen Sie mögliche doppelte Anführungszeichen in der vom Benutzer bereitgestellten Abfrage entfernen.

Siehe auch

Konzepte

Übersicht über die FAST Search-Abfrageintegration

Referenz zur FAST Query Language-Syntax (FQL)

FQL-Eigenschaftenspezifikation

FAST Query Language (FQL)-Operatoren

FQL-Simple Query Language

FQL-Syntax-Referenz (ABNF)