Syntaxreferenz für die Keyword Query Language (KQL)

Erfahren Sie, wie Sie KQL-Abfragen für Suche in SharePoint erstellen können. In dieser Syntaxreferenz werden die KQL-Abfrageelemente und die Vorgehensweise zum Verwenden der Eigenschaftseinschränkungen und -operatoren in KQL-Abfragen erläutert.

Elemente einer KQL-Abfrage

Eine KQL-Abfrage besteht aus einem oder mehreren der folgenden Elemente:

  • Freitext-Schlüsselwörter, -Wörter oder -Ausdrücke

  • Eigenschaftseinschränkungen

Sie können KQL-Abfrageelemente mit einem oder mehreren der verfügbaren Operatoren kombinieren.

Wenn die KQL-Abfrage nur Operatoren enthält oder leer ist, ist sie ungültig. Bei KQL-Abfragen muss die Groß- und Kleinschreibung nicht berücksichtigt werden, bei Operatoren jedoch schon (Großbuchstaben).

Hinweis

Die Längenbegrenzung einer KQL-Abfrage ist abhängig von der Erstellung unterschiedlich. Wenn Sie die KQL-Abfrage mit dem standardmäßigen SharePoint-Suche-Front-End erstellt haben, beträgt die Längenbegrenzung 2.048 Zeichen. KQL-Abfragen, die Sie programmgesteuert mit dem Abfrage-Objektmodell erstellt haben, besitzen eine Längenbegrenzung von 4.096 Zeichen. Sie können diesen Grenzwert auf bis zu 20.480 Zeichen erhöhen, indem Sie die MaxKeywordQueryTextLength-Eigenschaft oder die DiscoveryMaxKeywordQueryTextLength-Eigenschaft (für eDiscovery) verwenden.

Erstellen von Freitext-Abfragen mit KQL

Wenn Sie die KQL-Abfrage mit Freitext-Ausdrücken erstellen, gleicht Suche in SharePoint die Ergebnisse mit den von Ihnen für die Abfrage ausgewählten Begriffen basierend auf den im Volltextindex gespeicherten Begriffen ab. Dies schließt verwaltete Eigenschaftswerte ein, bei denen FullTextQueriable auf true festgelegt ist.

Bei Freitext-KQL-Abfragen muss die Groß- und Kleinschreibung nicht berücksichtigt werden, Operatoren müssen jedoch groß geschrieben werden. Sie können KQL-Abfragen erstellen, indem Sie eine oder mehrere der folgenden Freitext-Abfragen verwenden:

  • Ein word (enthält ein oder mehrere Zeichen ohne Leerzeichen oder Interpunktion)

  • Ein phrase (enthält zwei oder mehrere Wörter, die durch Leerzeichen getrennt sind; die Wörter müssen jedoch in doppelte Anführungszeichen gesetzt werden)

Um komplexe Abfragen zu erstellen, können Sie mehrere Freitext-Ausdrücke mit KQL-Abfrageoperatoren kombinieren. Wenn mehrere Freitext-Ausdrücke mit darin enthaltenen Operatoren vorhanden sind, verhält sich die Abfrage wie beim Verwenden des AND-Operators.

Verwenden von Wörtern in der Freitext-KQL-Abfrage

Wenn Sie Wörter in einer Freitext-KQL-Abfrage verwenden, gibt Suche in SharePoint die Ergebnisse basierend auf den exakten Übereinstimmungen Ihrer Wörter mit den im Volltextindex gespeicherten Begriffen zurück. Sie können auch nur den ersten Teil eines Worts verwenden, indem Sie den Platzhalter-Operator (*) verwenden, um den Präfix-Abgleich zu aktivieren. Im Präfix-Abgleich gleicht Suche in SharePoint die Ergebnisse mit den Begriffen ab, die das Wort gefolgt von Null oder mehr Zeichen enthalten.

Folgende KQL-Abfragen geben beispielsweise Inhaltselemente zurück, die die Begriffe „Verbund" und „Suche" enthalten:

federated search

federat* search

search fed*

KQL-Abfragen unterstützen keinen Präfixabgleich mit dem Wildcard * als Präfix.

Verwenden von Ausdrücken in der Freitext-KQL-Abfrage

Wenn Sie Ausdrücke in einer Freitext-KQL-Abfrage verwenden, gibt Suche in SharePoint nur die Elemente zurück, in denen sich die Wörter aus Ihrem Ausdruck direkt nebeneinander befinden. Um einen Ausdruck in einer KQL-Abfrage anzugeben, müssen Sie doppelte Anführungszeichen verwenden.

KQL-Abfragen unterstützen keinen Präfixabgleich mit dem Wildcard * als Präfix, sodass Sie den Wildcardoperator nicht vor einem Ausdruck in Freitextabfragen verwenden können. Sie können den Platzhalter-Operator jedoch nach einem Ausdruck verwenden.

Eigenschaftseinschränkung-Abfragen in KQL

Mit KQL können Sie Abfragen erstellen, die Eigenschaftseinschränkungen verwenden, um den Fokus der Abfrage einzugrenzen, damit die Ergebnisse nur auf einer bestimmten Bedingung basierend abgeglichen werden.

Angeben von Eigenschaftseinschränkungen

Eine einfache Eigenschaftseinschränkung besteht aus folgenden Teilen:

<Property Name><Property Operator><Property Value>

In Tabelle 1 werden einige Beispiele gültiger Eigenschaftseinschränkungssyntaxen in KQL-Abfragen aufgeführt.

Tabelle 1. Gültige Syntax für Eigenschaftseinschränkung

Syntax gibt zurück
author:"John Smith"
Gibt von John Smith verfasste Inhaltselemente zurück.
filetype:docx
Gibt Microsoft Word-Dokumente zurück.
filename:budget.xlsx
Gibt Inhaltselemente mit dem Dateinamen budget.xlsxzurück.

Die Eigenschaftseinschränkung darf kein Leerzeichen zwischen Eigenschaftsname, Eigenschaftsoperator und Eigenschaftswert enthalten, andernfalls wird die Eigenschaftseinschränkung als Freitext-Abfrage behandelt. Die Länge einer Eigenschaftseinschränkung ist auf 2.048 Zeichen begrenzt.

In den folgenden Beispielen bewirkt das Leerzeichen, dass die Abfrage Inhaltselemente zurückgibt, die die Begriffe „Autor" und „John Smith" enthalten, statt von John Smith verfasste Inhaltselemente zurückzugeben:

author: "John Smith"

author :"John Smith"

author : "John Smith"

Anders ausgedrückt, die vorherigen Eigenschaftseinschränkungen entsprechen folgendem Sachverhalt:

author "John Smith"

Angeben von Eigenschaftsnamen für Eigenschaftseinschränkungen

Sie müssen einen gültigen verwalteten Eigenschaftsnamen für die Eigenschaftseinschränkung angeben. Standardmäßig enthält Suche in SharePoint verschiedene verwaltete Eigenschaften für Dokumente.

Um eine Eigenschaftseinschränkung für einen durchforsteten Eigenschaftswert anzugeben, müssen Sie die durchforstete Eigenschaft zunächst der verwalteten Eigenschaft zuordnen. Weitere Informationen dazu finden Sie unter Verwaltete und durchforstete Eigenschaften unter Planen der Endbenutzer-Sucherfahrung.

Die verwaltete Eigenschaft muss abfragbar sein, damit Sie in einem Dokument nach dieser verwalteten Eigenschaft suchen können. Außerdem kann die verwaltete Eigenschaft Retrievable sein, damit sie abgerufen werden kann. Die verwaltete Eigenschaft muss jedoch nicht Retrievable sein, damit Eigenschaftssuchen ausgeführt werden können.

In Eigenschaftseinschränkungen unterstützte Eigenschaftsoperatoren

Suche in SharePoint unterstützt verschiedene Eigenschaftsoperatoren für Eigenschaftseinschränkungen, siehe Tabelle 2.

Tabelle 2. Gültige Eigenschaftsoperatoren für Eigenschaftseinschränkungen

Operator Beschreibung Unterstützter verwalteter Eigenschaftstyp
:
Gibt Ergebnisse zurück, in denen der in der Eigenschaftseinschränkung angegebene Wert dem in der Eigenschaftsspeicher-Datenbank gespeicherten Eigenschaftswert entspricht, oder mit einzelnen Begriffen des im Volltextindex gespeicherten Eigenschaftswerts übereinstimmt.
Text
DateTime
Integer
Decimal
Double
YesNo
=
Gibt Suchergebnisse zurück, in denen der Eigenschaftswert gleich dem in der Eigenschaftseinschränkung angegeben Wert ist.
Hinweis: Es wird nicht empfohlen, den =-Operator bei genauen Übereinstimmungen mit einem Sternchen (*) zu kombinieren.
Text
DateTime
Integer
Decimal
Double
YesNo
<
Gibt Ergebnisse zurück, in denen der Eigenschaftswert geringer als der in der Eigenschaftseinschränkung angegebene Wert ist.
DateTime
Integer
Decimal
Double
>
Gibt Suchergebnisse zurück, in denen der Eigenschaftswert größer als der in der Eigenschaftseinschränkung angegeben Wert ist.
DateTime
Integer
Decimal
Double
<=
Gibt Suchergebnisse zurück, in denen der Eigenschaftswert kleiner gleich dem in der Eigenschaftseinschränkung angegebenen Wert ist.
DateTime
Integer
Decimal
Double
>=
Gibt Suchergebnisse zurück, in denen der Eigenschaftswert größer gleich dem in der Eigenschaftseinschränkung angegebenen Wert ist.
DateTime
Integer
Decimal
Double
<>
Gibt Suchergebnisse zurück, in denen der Eigenschaftswert nicht dem in der Eigenschaftseinschränkung angegebenen Wert entspricht.
DateTime
Integer
Decimal
Text
Double
YesNo
..
Gibt Suchergebnisse zurück, in denen der Eigenschaftswert innerhalb des in der Eigenschaftseinschränkung angegebenen Bereichs liegt.
Der Bereich A..B stellt beispielsweise eine Gruppe von Werten zwischen A und B, in der A und B enthalten sind. Bei Datumsbereichen liegt der Bereich dann zwischen Anfang Tag A und Ende Tag B.
DateTime
Integer
Decimal
Double

Angeben von Eigenschaftswerten

Sie müssen einen Eigenschaftswert angeben, der ein gültiger Datentyp für den verwalteten Eigenschaftstyp ist. In Tabelle 3 sind diese Typenzuordnungen aufgelistet.

Tabelle 3. Gültige Datentypzuordnungen für verwaltete Eigenschaftstypen

Verwalteter Typ Datentyp
Text
String
Integer
Int64
Double
System.Double
Decimal
Decimal
DateTime()
DateTime
YesNo
Boolean

Texteigenschaftstypen

Bei Texteigenschaftswerten hängt das Übereinstimmungsverhalten davon ab, ob die Eigenschaft im Volltextindex oder im Suchindex gespeichert ist.

Eigenschaftswerte im Volltextindex

Eigenschaftswerte werden im Volltextindex gespeichert, wenn die FullTextQueriable-Eigenschaft für eine verwaltete Eigenschaft auf truewurde. Sie können diese Einstellung nur für Zeichenfolgeneigenschaften konfigurieren. In der Abfrage angegebene Eigenschaftswerte werden mit den einzelnen Begriffen abgeglichen, die im Volltextindex gespeichert sind. Verwenden Sie die NoWordBreaker -Eigenschaft, um anzugeben, ob sie mit dem gesamten Eigenschaftswert abgeglichen werden sollen.

Wenn Sie beispielsweise nach einem von Paul Shakespear verfassten Inhaltselement suchen, gibt die folgende KQL-Abfrage übereinstimmende Ergebnisse zurück:

author:Shakespear

author:Paul

Der Präfix-Abgleich wird auch unterstützt. Sie können den Platzhalter-Operator (*) verwenden, das ist jedoch nicht erforderlich, wenn Sie einzelne Wörter angeben. Um erneut auf das vorherige Beispiel zurückzukommen: folgende KQL-Abfrage gibt von Paul Shakespear verfasste Inhaltselemente als Übereinstimmungen zurück:

author:Shakesp*

Wenn Sie für den Eigenschaftswert einen Ausdruck angeben, müssen übereinstimmende Ergebnisse den angegebenen Ausdruck im Eigenschaftswert enthalten, der im Volltextindex gespeichert ist. Das folgende Abfragebeispiel gibt Inhaltselemente mit dem Text "Erweiterte Suche" im Titel zurück, z. B. "Advanced Search XML", "Learning About the Advanced Search web part" usw.:

title:"Advanced Search"

Der Präfix-Abgleich wird auch für in den Eigenschaftswerten angegebene Ausdrücke unterstützt, dafür müssen Sie jedoch den Platzhalter-Operator (*) in der Abfrage verwenden. Außerdem wird er nur am Ende des Ausdrucks unterstützt, siehe folgendes Beispiel:

title:"Advanced Sear*"

Folgende Abfragen geben nicht das erwartete Ergebnis zurück:

title:"Advan* Search"

title:"Advanced Sear"

Numerische Werte für Eigenschaften

Numerische Eigenschaftswerte, die die verwalteten Typen Integer, Double und Decimal enthalten, wird die Eigenschaftseinschränkung mit dem gesamten Eigenschaftswert abgeglichen.

Datums- oder Zeitwerte für Eigenschaften

KQL stellt den Datentyp datetime für das Datum und die Zeit bereit. Folgende mit der ISO 8601 kompatible datetime-Formate werden in Abfragen unterstützt:

  • JJJJ-MM-TT

  • JJJJ-MM-TTThh:mm:ss

  • YYYY-MM-DDThh:mm:ssZ

  • YYYY-MM-DDThh:mm:ssfrZ

In diesen datetime-Formaten:

  • YYYY gibt eine vierziffrige Jahreszahl an.

    Hinweis

    Es werden nur vierziffrige Jahresangaben unterstützt.

  • MM gibt einen zweiziffrigen Monat an. Z. B. 01 = Januar.

  • DD gibt einen zweiziffrigen Tag des Monats an (01-31).

  • T gibt den Buchstaben „T" an.

  • hh gibt eine zweiziffrige Stundenangabe an (00-23).

  • mm gibt eine zweiziffrige Minutenangabe an (00-59).

  • ss gibt eine zweiziffrige Sekundenangabe an (00-59).

  • fr gibt einen optionalen Sekundenbruchteil an, ss; zwischen 1 und 7 Ziffern, die auf folgt , nach den Sekunden. Beispiel: 2012-09-27T11:57:34.1234567.

Alle Datums-/Zeitwerte müssen gemäß der UTC (Coordinated Universal Time) angegeben werden, auch als GMT (Greenwich Mean Time) Zeitzone bekannt. Der UTC-Zeitzonenbezeichner (nachfolgendes „Z“) ist optional.

Von KQL unterstützte relevante Datumsintervalle

Mit KQL können Sie Suchabfragen erstellen, die die relative „Tag"-Bereichsabfrage mit reservierten Schlüsselwörtern unterstützt, siehe Tabelle 4. Verwenden Sie doppelte Anführungszeichen ("") für Datumsintervalle, zwischen denen sich Leerzeichen befinden.

Übereinstimmungen würden heute geänderte Elemente enthalten:

LastModifiedTime=today

Übereinstimmungen würden Elemente vom Anfang des aktuellen Jahres bis zum Ende des aktuellen Jahres enthalten:

LastModifiedTime="this year"

Übereinstimmungen würden Elemente aus dem Zeitraum vom 1. Januar 2019 bis zum 26. April 2019 enthalten:

LastModifiedTime>=2019-01-01 AND LastModifiedTime<=2019-04-26

Tabelle 4. Reservierte Schlüsselwörter für Datumsintervall

Name des Datumsintervalls Beschreibung
heute
Stellt den Zeitraum vom Anfang des aktuellen Tags bis zum Ende des aktuellen Tags dar.
yesterday
Stellt den Zeitraum vom Anfang des Tags bis zum Ende des Tags, der vor dem aktuellen Tag liegt, dar.
this week
Stellt den Zeitraum zwischen dem Anfang der aktuellen Woche und dem Ende der aktuellen Woche dar. Die Kultur, in der der Abfragetext formuliert wurde, wird dabei berücksichtigt, um den ersten Tag der Woche zu ermitteln.
this month
Stellt den Zeitraum vom Anfang des aktuellen Monats bis zum Ende des aktuellen Monats dar.
last month
Stellt den gesamten Monat dar, der vor dem aktuellen Monat liegt.
this year
Stellt den Zeitraum vom Anfang des aktuellen Jahres bis zum Ende des aktuellen Jahres dar.
last year
Stellt das gesamte Jahr dar, das vor dem aktuellen Jahr liegt.

Verwenden von mehreren Eigenschaftseinschränkungen innerhalb einer KQL-Abfrage

Suche in SharePoint unterstützt die Verwendung von mehreren Eigenschaftseinschränkungen innerhalb der gleichen KQL-Abfrage. Sie können entweder die gleiche Eigenschaft für mehrere Eigenschaftseinschränkungen verwenden oder für jede Eigenschaftseinschränkung eine andere Eigenschaft nutzen.

Wenn Sie mehrere Instanzen der gleichen Eigenschaftseinschränkung verwenden, basieren die Übereinstimmung auf einer Verbindung der Eigenschaftseinschränkungen in der KQL-Abfrage. Die Übereinstimmungen enthalten von John Smith oder Jane Smith verfasste Inhaltselemente, siehe folgendes Beispiel:

author:"John Smith" author:"Jane Smith"

Diese Funktion entspricht der Verwendung des booleschen Operators OR, siehe folgendes Beispiel:

author:"John Smith" OR author:"Jane Smith"

Wenn Sie verschiedene Eigenschaftseinschränkungen verwenden, basieren die Übereinstimmungen auf einer Schnittmenge der Eigenschaftseinschränkungen in der KQL-Abfrage, siehe folgendes Beispiel:

author:"John Smith" filetype:docx

Übereinstimmungen würden von John Smith verfasste Microsoft Word-Dokumente enthalten. Diese Funktion entspricht der Verwendung des booleschen Operators AND, siehe folgendes Beispiel:

author:"John Smith" AND filetype:docx

Gruppieren von Eigenschaftseinschränkungen innerhalb einer KQL-Abfrage

Gilt für: Office 365 | SharePoint Online | SharePoint 2019

Sie können mit Klammern () mehrere Eigenschafteneinschränkungen gruppieren, die sich auf eine bestimmte Eigenschaft vom Typ Text mit dem folgenden Format beziehen:

<Property Name>:(<Expression>)

Komplexere Abfragen profitieren möglicherweise von der Verwendung der ()-Notation zum Erstellen von kompakteren und übersichtlicheren Abfrageausdrücken.

Die Abfrage:

author:"John Smith" AND author:"Jane Smith"

kann umgeschrieben werden als:

author:("John Smith" "Jane Smith")

Die Abfrage:

title:Advanced title:Search title:Query NOT title:"Advanced Search Query"

kann umgeschrieben werden als:

title:((Advanced OR Search OR Query) -"Advanced Search Query")

Die Abfrage:

title:Advanced XRANK(cb=1) title:Search XRANK(cb=1) title:Query

kann umgeschrieben werden als:

title:(Advanced XRANK(cb=1) Search XRANK(cb=1) Query)

Hinweis

Wenn Sie () verwenden, um einen Ausdruck in einer Eigenschaftsabfrage zu gruppieren, kann die Anzahl der Übereinstimmungen zunehmen, da einzelne Abfragewörter lemmatisiert werden, was andernfalls nicht passiert. Ausdrücke in Anführungszeichen werden nicht lemmatisiert.

title:page gibt Übereinstimmungen mit dem exakten Ausdruck page zurück, während title:(page) auch Übereinstimmungen für den Ausdruck pages zurückgibt.

Filtern nach Elementen, bei denen eine Texteigenschaft leer ist oder einen Wert enthält

Gilt für: Office 365 | SharePoint Online

Für verwaltete Eigenschaften vom Typ Text im Suchschema, die auf Queryable festgelegt sind, können Sie den Platzhalteroperator (*) als Eigenschaftsausdruck verwenden, um nach Elementen zu filtern, die entweder einen Wert haben oder keinen Wert haben.

Syntax zum Zurückgeben von Elementen, bei denen eine Texteigenschaft einen Wert aufweist:

<Property Name>:*

Syntax zum Zurückgeben von Elementen, bei denen eine Texteigenschaft keinen Wert aufweist:

NOT <Property Name>:*

Im folgenden Beispiel werden Websites zurückgegeben, die einer Hubwebsite zugeordnet sind, ohne die Hubwebsites selbst:

(DepartmentId:* OR RelatedHubSites:*) AND contentclass:sts_site NOT IsHubSite:true

KQL-Operatoren für komplexe Abfragen

Die KQL-Syntax enthält mehrere Operatoren, die Sie zum Erstellen komplexer Abfragen verwenden können.

Boolesche Operatoren

Sie können boolesche Operatoren verwenden, um die Suche zu erweitern oder einzugrenzen. Sie können boolesche Operatoren in KQL-Abfragen mit Freitext-Ausdrücken und Eigenschaftseinschränkungen verwenden. In Tabelle 5 sind die unterstützten booleschen Operatoren aufgelistet.

Tabelle 5. In KQL unterstützte boolesche Operatoren

Operator Beschreibung
AND
Gibt Suchergebnisse zurück, die alle Freitext-Ausdrücke oder Eigenschaftseinschränkungen enthält, die mit dem Operator AND angegeben wurden. Sie müssen vor und nach dem AND-Operator einen gültigen Freitext-Ausdruck und/oder eine gültige Eigenschaftseinschränkung angeben. Diese Funktion entspricht der Verwendung des „+"-Zeichens.
NOT
Gibt Suchergebnisse zurück, in denen die angegebenen Freitext-Ausdrücke oder Eigenschaftseinschränkungen nicht enthalten sind. Sie müssen nach dem Operator NOT einen gültigen Freitext-Ausdruck und/oder eine gültige Eigenschaftseinschränkung angeben. Diese Funktion entspricht der Verwendung des „-"-Zeichens.
ODER
Gibt Suchergebnisse zurück, die eine oder mehrere der angegebenen Freitext-Ausdrücke oder Eigenschaftseinschränkungen enthält. Sie müssen vor und nach dem OR-Operator einen gültigen Freitext-Ausdruck und/oder eine gültige Eigenschaftseinschränkung angeben.

Näherungsoperatoren

Sie können Näherungsoperatoren verwenden, um die Ergebnisse abzugleichen, bei denen die Suchbegriffe nah beieinander auftauchen. Näherungsoperatoren können nur mit Freitext-Ausdrücken verwendet werden; mit Eigenschaftseinschränkungen in KQL-Abfragen werden sie nicht unterstützt. Es gibt zwei Näherungsoperatoren: NEAR und ONEAR.

NEAR-Operator

Der NEAR-Operator gleicht die Ergebnisse ab, bei denen die Suchbegriffe nah beieinander auftauchen, ohne dabei die Reihenfolge der Begriffe einhalten zu müssen. Die Syntax für NEAR lautet wie folgt:

<expression> NEAR(n=4) <expression>

Dabei ist n ein optionaler Parameter, der den maximalen Abstand zwischen den Begriffen angibt. Der Wert von n ist eine ganze Zahl >= 0 mit dem Standardwert 8.

Der Parameter n kann als n=v angegeben werden, wobei v den Wert darstellt oder auf nur v verkürzt wird, z NEAR(4) . B. wenn v 4 ist.

Beispiel:

"acquisition" NEAR "debt"

Diese Abfrage gleicht Elemente ab, bei denen die Begriffe "Erwerb" und "Forderung" innerhalb desselben Elements vorkommen, wobei auf eine instance "Erwerb" bis zu acht weitere Begriffe folgen, und dann ein instance des Begriffs "Schulden" oder umgekehrt. Die Reihenfolge der Bedingungen ist für die Übereinstimmung nicht von Bedeutung.

Wenn ein geringerer Abstand zwischen den Begriffen liegen soll, können Sie ihn angeben. Mit der folgenden Abfrage werden Elemente abgeglichen, bei denen die Begriffe „Akquirierung" und „Forderung" innerhalb des gleichen Elements auftreten, dabei beträgt der Abstand zwischen den Begriffen maximal 3. Die Reihenfolge der Begriffe hat keine Auswirkungen auf den Abgleich.

"acquisition" NEAR(n=3) "debt"

Hinweis

In SharePoint behält der NEAR-Operator nicht mehr die Reihenfolge der Token bei. Darüber hinaus erhält der NEAR-Operator jetzt einen optionalen Parameter, der einen maximalen Tokenabstand angibt. Der Standardwert ist jedoch weiterhin 8. Wenn Sie das vorherige Verhalten verwenden müssen, verwenden Sie stattdessen ONEAR.

ONEAR-Operator

Der ONEAR-Operator gleicht die Ergebnisse ab, bei denen die angegebenen Suchbegriffe nah beieinander auftreten und behält die Reihenfolge der Begriffe bei. Die Syntax für ONEAR lautet wie folgt, dabei ist n ein optionaler Parameter, der den maximalen Abstand zwischen den Begriffen angibt. Der Wert von n ist eine ganze Zahl >= 0 mit dem Standardwert 8.

<expression> ONEAR(n=4) <expression>

Der Parameter n kann als n=v angegeben werden, wobei v den Wert darstellt oder auf nur v verkürzt wird, z ONEAR(4) . B. wenn v 4 ist.

Die folgende Abfrage gleicht beispielsweise Elemente ab, in denen die Begriffe „Akquirierung" und „Forderung" innerhalb des gleichen Elements auftauchen, dabei folgen auf eine Instanz „Akquirierung" bis zu acht weitere Begriffe und anschließend eine Instanz des Begriffs „Forderung". Die Reihenfolge der Begriffe muss übereinstimmen, damit ein Element zurückgegeben werden kann:

"acquisition" ONEAR "debt"

Wenn ein kleinerer Abstand zwischen den Begriffen liegen soll, können Sie ihn wie folgt angeben. Diese Abfrage gleicht Elemente ab, in denen die Begriffe „Akquirierung" und „Forderung" innerhalb des gleichen Elements auftauchen, dabei beträgt der maximale Abstand zwischen den Begriffen 3. Die Reihenfolge der Begriffe muss übereinstimmen, damit ein Element zurückgegeben werden kann:

"acquisition" ONEAR(n=3) "debt"

Synonym-Operatoren

Sie können den Operator WORDS verwenden, um anzugeben, dass die Begriffe in der Abfrage Synonyme sind und zurückgegebene Ergebnisse mit einem der angegebenen Begriffe übereinstimmen sollten. Sie können den Operator WORDS nur mit Freitext-Ausdrücken verwenden; mit Eigenschaftseinschränkungen in KQL-Abfragen wird er nicht unterstützt.

Die folgende Beispielabfrage gleicht Ergebnisse ab, die den Begriff „TV" oder den Begriff „Fernsehen" enthalten. Dieses Abgleichverhalten entspricht der Verwendung folgender Abfrage:

WORDS(TV, Television)

TV OR Television

Diese Abfragen unterscheiden sich in der Ergebnisrangfolge. Wenn Sie den Operator WORDS verwenden, werden die Begriffe „TV" und „Fernsehen" als Synonyme behandelt, statt als einzelne Begriffe. Deshalb ist die Rangfolge der Instanzen der Begriffe so, als wäre es derselbe Begriff. Ein Inhaltselement, das eine Instanz des Begriffs „Fernsehen“ und fünf Instanzen des Begriffs „TV“ enthält, erhält die gleiche Rangfolge, als wären sechs Instanzen des Begriffs „TV“ im Inhaltselement enthalten.

Platzhalter-Operator

Verwenden Sie das Platzhalterzeichen Sternchen (" * "), um die Präfix-Anpassung zu aktivieren. In Ihrer Anfrage können Sie einen Teil des Wortes angeben. Beginnen Sie mit dem Anfang des Wortes gefolgt vom Platzhalterzeichen. Bei dieser Abfrage wird nach Übereinstimmungen gesucht, die Ausdrücke enthalten, die mit "serv" beginnen, gefolgt von null oder mehr Zeichen, wie z. B. "serve", "server", "service" usw.

serv*

Ein- und Ausschluss-Operatoren

Sie können angeben, ob die zurückgegebenen Ergebnisse Inhalte enthalten oder ausschließen sollen, die mit dem im Freitext-Ausdruck oder in der Eigenschaftseinschränkung angegebenen Wert übereinstimmen, indem Sie Inklusions- oder Ausschluss-Operatoren verwenden, siehe Tabelle 6.

Tabelle 6. Operatoren zum Ein- und Ausschließen von Inhalt in Ergebnissen

Name Operator Verhalten
Inklusion
" + "
Schließt Inhalte mit Werten ein, die mit der Inklusion übereinstimmen.
Wenn kein Zeichen angegeben wurde, verhält sich die Abfrage standardmäßig so. Diese Funktion entspricht der Verwendung des AND-Operators.
Ausschluss
" - "
Schließt Inhalte mit Werten ein, die mit der Exklusion übereinstimmen. Diese Funktion entspricht der Verwendung des Operators NOT.

Dynamischer Rangfolge-Operator

Sie können den Operator XRANK verwenden, um den dynamischen Rang der Elemente basierend auf bestimmten Vorkommnissen von Begriffen im match expression verstärken, ohne die Abfrage dahingehend zu verändern, welche Elemente mit der Abfrage übereinstimmen. Ein XRANK-Ausdruck enthält eine Komponente, die abgeglichen werden muss, den Übereinstimmungsausdruck und eine oder mehrere Komponenten, die nur zur dynamischen Rangfolge beitragen, den Rangausdruck. Es muss mindestens einer der Parameter angegeben werden, abgesehen von n, damit ein XRANK-Ausdruck gültig ist.

Hinweis

Die Abfragelatenz (und die Wahrscheinlichkeit einer Zeitüberschreitung) erhöht sich bei Verwendung komplexer Abfragen und insbesondere bei Verwendung von xrank-Operatoren. Die Erhöhung der Abfragelatenz hängt von der Anzahl der XRANK-Operatoren und der Anzahl der Treffer in den Komponenten für den übereinstimmenden Ausdruck und Rangausdruck in der Abfragestruktur ab.

Match expressions kann ein beliebiger gültiger KQL-Ausdruck sein, einschließlich verschachtelter XRANK-Ausdrücke. Rank expressions kann ein beliebiger gültiger KQL-Ausdruck ohne XRANK-Ausdrücke sein. Wenn Ihre KQL-Abfragen über mehrere XRANK-Operatoren verfügt, wird der endgültige dynamische Rangfolgewert als Summe der Verstärkungen aller XRANK-Operatoren berechnet.

Hinweis

Verwenden Sie Klammern, um die Reihenfolge der Berechnungen für die KQL-Abfragen explizit anzugeben, die über mehr als einen XRANK-Operator auf der gleichen Ebene verfügen.

Sie können den XRANK-Operator in der folgenden Syntax verwenden:

<match expression> XRANK(cb=100, rb=0.4, pb=0.4, avgb=0.4, stdb=0.4, nb=0.4, n=200) <rank expression>

Die Berechnung der dynamischen Rangfolge des XRANK-Operators basiert auf dieser Formel:

Formel für XRANK-Operator

In Tabelle 7 sind die verfügbaren Grundparameter für den XRANK-Operator aufgelistet.

Tabelle 7. Parameter des XRANK-Operators

Parameter Wert Beschreibung
n
<integer_value>
Gibt die Anzahl der Ergebnisse für die Berechnung von Statistiken an.
Dieser Parameter hat keine Auswirkungen auf die Anzahl der Ergebnisse, die durch die dynamische Rangfolge hinzu kommen; es handelt sich dabei lediglich um eine Methode zum Ausschließen irrelevanter Elemente aus den Berechnungen der Statistik.
Standardwert: 0. Ein Nullwert trägt die Semantik aller Dokumente .
nb
<float_value>
Der Parameter nb verweist auf die normale Verstärkung. Dieser Parameter gibt den Faktor an, der mit dem Produkt der Abweichung und der Durchschnittsbewertung der Rangwerte der Ergebnisgruppe multipliziert wird.
f in der XRANK-Formel.

Normalerweise ist die normalisierte Verstärkung nb der einzige Parameter, der geändert wird. Dieser Parameter stellt das benötigte Steuerelement bereit, um ein bestimmtes Element höher oder niedriger zu stufen, ohne dabei die Standardabweichung zu berücksichtigen.

Außerdem sind folgende erweiterte Parameter verfügbar. In der Regel werden sie jedoch nicht verwendet.

Tabelle 8. Erweiterte Parameter für XRANK

Parameter Wert Beschreibung
cb
<float_value>
Der Parameter cb verweist auf die konstante Verstärkung.
Standardwert: 0.
a in der XRANK-Formel.
stdb
<float_value>
Der Parameter stdb verweist auf die Verstärkung der Standardabweichung.
Standardwert: 0.
e in der XRANK-Formel.
avgb
<float_value>
Der Parameter avgb verweist auf die durchschnittliche Verstärkung.
Standardwert: 0.
d in der XRANK-Formel.
rb
<float_value>
Der Parameter rb verweist auf die Bereichsverstärkung. Dieser Faktor wird mit dem Bereich der Rangfolgewerte in der Ergebnisgruppe multipliziert.
Standardwert: 0.
b in der XRANK-Formel.
pb
<float_value>
Der Parameter pb verweist auf die Prozentwertverstärkung. Dieser Faktor wird im Vergleich zum Mindestwert des Korpus mit der Rangfolge des Elements multipliziert.
Standardwert: 0.
c in der XRANK-Formel.

Beispiele

Beispiel 1. Der folgende Ausdruck gleicht Elemente ab, bei denen der Standard-Volltextindex den Begriff „Katze" oder „Hund" enthält. Der Ausdruck erhöht die dynamische Rangfolge der Elemente mit einer konstanten Verstärkung von 100 für Elemente, die zusätzlich den Begriff „Vollblutpferd" enthalten.

(cat OR dog) XRANK(cb=100) thoroughbred

Beispiel 2. Der folgende Ausdruck gleicht Elemente ab, bei denen der Standard-Volltextindex den Begriff „Katze" oder „Hund" enthält. Der Ausdruck erhöht die dynamische Rangfolge der Elemente mit einer normalen Verstärkung von 1,5 für Elemente, die zusätzlich den Begriff „Vollblutpferd" enthalten.

(cat OR dog) XRANK(nb=1.5) thoroughbred

Beispiel 3. Der folgende Ausdruck gleicht Elemente ab, bei denen der Standard-Volltextindex den Begriff „Katze" oder „Hund" enthält. Der Ausdruck erhöht die dynamische Rangfolge der Elemente mit einer konstanten Verstärkung von 100 und einer normalen Verstärkung von 1,5, für Elemente, die zusätzlich den Begriff „Vollblutpferd" enthalten.

(cat OR dog) XRANK(cb=100, nb=1.5) thoroughbred

Beispiel 4. Der folgende Ausdruck gleicht alle Elemente ab, die den Begriff „Tiere" enthalten und die dynamische Rangfolge wie folgt verstärken:

  • Die dynamische Rangfolge von Elementen, die den Begriff „Hunde" enthalten, werden um 100 Punkte verstärkt.

  • Die dynamische Rangfolge der Elemente, die den Begriff „Katzen" enthalten, werden um 200 Punkte verstärkt.

  • Die dynamische Rangfolge der Elemente, die die Begriffe „Hunde" und „Katzen" enthalten, werden um 300 Punkte verstärkt.

(animals XRANK(cb=100) dogs) XRANK(cb=200) cats

Klammer

Sie können verschiedene Teile einer Stichwortabfrage kombinieren, indem Sie eine öffnende „ ( " und schließende Klammer „ ) " verwenden. Zu jeder öffnenden Klammer „ ( " muss eine schließende Klammer „ ) " vorhanden sein. Ein Leerzeichen vor und nach einer Klammer hat keine Auswirkungen auf die Abfrage.

Siehe auch