Grundlegende Abfragestruktur
Das
<Contain>-Element kann eine beliebige Anzahl der folgenden Elemente in beliebiger Reihenfolge enthalten:
Jedes dieser Elemente muss eines der folgenden Elemente enthalten:
Das
<Contain>-Element muss mindestens ein <Required>- oder <Optional>-Element enthalten.Attribute des Contain-Elements
<Contain> festgelegt werden.
Attribut MinCount
MinCount die Mindestanzahl von Elementen in einer Kombination von Wortformen an. Jedes Element ist entweder eine Wortform oder eine von der Unterabfrage zurückgegebene Folge von Wortformen. Der Standardwert des Attributs ist 1. Der Wert dieses Parameters darf nicht größer sein als die Gesamtzahl der Elemente <Required> und <Optional> in der Kombination von Wortformen.
Dieser Parameter ist nützlich, wenn eine Kombination von Wortformen ein oder mehrere <Optional>-Elemente enthält.
Die folgende Abfrage sucht nach dem ersten oder dem zweiten Parameter:
KeepOrder-Attribut
KeepOrder vom Typ Boolean. Der Standardwert des Attributs ist false.
Die folgende Abfrage legt fest, dass die Reihenfolge der Elemente festgelegt ist:
KeepOrder gilt auch für alle <Except>-Elemente. Wörter, die in einer Abfrage den <Except>-Elementen entsprechen, dürfen nicht zwischen den Wörtern vorkommen, die sie in der Abfrage voneinander trennen. Sie können jedoch an beliebigen anderen Positionen außerhalb der Abfragestrings mit fester Reihenfolge vorkommen.
Wenn Sie beispielsweise die vorherige Abfrage ändern und die Wortform „second“ statt in ein <Required>- in ein <Except>-Element setzen, entspricht ein Dokument, das die Kombination der Wortformen „first third second“ enthält, der Abfrage (die Wortform „second“ wird jedoch nicht in das Ergebnis aufgenommen). Wenn Sie anschließend das Attribut KeepOrder entfernen, wird ein Dokument, das die Kombination der Wortformen „first third second“ enthält, nicht in das Ergebnis aufgenommen, da die Wortform „second“ nirgendwo im Text eines Dokuments vorkommen darf.
MinDistance- und MaxDistance-Attribute
MinDistance und MaxDistance geben den minimalen und maximalen Abstand zwischen Wörtern in einer Abfrage an. Diese Attribute haben keine Standardwerte. Wenn eines der beiden Attribute nicht angegeben ist, gelten keine Abstandsbeschränkungen.
Der Abstand zwischen Wörtern wird in Wörtern gemessen und als Differenz zwischen den Positionen der beiden entsprechenden Wörter berechnet. Der Abstand zwischen zwei benachbarten Wörtern beträgt 1, daher ist der Mindestwert für beide Attribute 1. MaxDistance muss größer oder gleich MinDistance sein.
Der Abstand zwischen zwei Wortfolgen wird wie folgt berechnet. Wenn sich die Wortfolgen nicht überlappen, wird der Abstand als Differenz zwischen der Position des ganz links stehenden Worts in der rechten Wortfolge und der Position des ganz rechts stehenden Worts in der linken Wortfolge berechnet. Wenn sich die Wortfolgen überlappen, wird ein Abstand von 0 angenommen.
Beispielsweise beträgt in der Formulierung „The quick brown fox jumped over the lazy dog“ der Abstand zwischen den Wortfolgen „quick fox“ und „lazy dog“ 4, und der Abstand zwischen den Wortfolgen „quick fox“ und „brown lazy dog“ beträgt 0.
Für <Except>-Elemente wird der Abstand zwischen Wörtern wie folgt berechnet:
- Wenn
KeepOrder="true"gilt, darf das Wort nicht innerhalb des angegebenen Abstands zu den benachbarten Wörtern in der Wortfolge vorkommen (also zu den Wörtern, zwischen denen es in der Abfrage vorkommt). Gleichzeitig muss der Abstand zwischen den Nachbarn des<Except>-Elements innerhalb des angegebenen Bereichs liegen. - Wenn
KeepOrder="false"gilt, darf das Wort nicht innerhalb des angegebenen Abstands zu irgendeinem anderen Wort in der Wortfolge vorkommen.
KeepOrder="true" und MaxDistance="2":
KeepOrder="false" und MaxDistance="2":
<Except>-Tags steht und der maximale Abstand zwischen “tetraborate” und „sodium“ zwei Wörter beträgt.
Form-Element
<Form>-Element angegeben. Dieses Element kann die folgenden Elemente enthalten:
<Attributes>— Optionales Element, das eine Abfrage nach den Attributen einer Wortform enthält. Weitere Informationen finden Sie unter Wann Extraktionsskripte verwendet werden.<Text>— Optionales Element, das den Unicode-Text einer Wortform enthält. Wenn kein Text angegeben ist, erfüllt jedes Wort, das der Attributabfrage entspricht, die Abfrage. In diesem Fall ist die Attributabfrage erforderlich.
<Form> angegeben werden.
SearchType-Attribut
SearchType des Tags <Form> angegeben werden. Dieses Attribut kann die folgenden Werte haben:
Das Attribut
SearchType ist optional. Standardmäßig ist AllFormsSearch festgelegt.
Attribut CaseSensitive
CaseSensitive des Tags <Form> verwendet werden. Dieses Attribut ist optional und standardmäßig auf false gesetzt.
Die folgende Abfrage verwendet die Attribute SearchType und CaseSensitive des Tags <Form>:
Attributes-Element
<Attributes>-Element. Dieses Element kann die folgenden Elemente enthalten:
Das Element
<Not> ist genauso aufgebaut wie das Element <Attributes> und kann nur eines dieser Elemente enthalten.
Die Elemente <Or> und <And> müssen mindestens zwei dieser Elemente enthalten.
Das Tag <Attribute> hat ein optionales Attribut SearchType, das die Art der Attributsuche angibt. Dieses Attribut kann die folgenden Werte haben:
ExactSearch— Sucht nach dem Attribut genau in der in der Abfrage angegebenen Form.PrefixSearch— Sucht nach beliebigen Attributen, die mit dem angegebenen Text beginnen.
SearchType ist standardmäßig auf ExactSearch gesetzt.
Angenommen, Sie haben ein Dokument, in dem Sie bereits Folgendes identifiziert haben:
- NER-Objekte durch Aufruf der Funktion
ExtractNerObjects - Wortformen aus einem Benutzerdictionary mit dem Namen
dictionarydurch Aufruf der FunktionExtractWordsFromUserDictionary - Alle Objekte, die einem als Parameter übergebenen regulären Ausdruck entsprechen, durch Aufruf der Funktion
ExtractRegularExpression
regExp.
Der Name der Sammlung kann in XML-Abfragen verwendet werden, die für das indizierte Dokument ausgeführt werden. Auf die resultierende Sammlung selbst kann über ihren Namen zugegriffen werden.
date kann beispielsweise ein Datum im Format „May 31, 2019“ finden. Dann entspricht date1 dem Wort „May“, date2 „31“ und date3 „2019“.
FormSet-Element
<FormSet>-Element angegeben.
Dieser Abfragetyp kombiniert mehrere Einzelabfragen für Wortformen mit OR. Er entspricht einer <Query>-Abfrage, bei der alle Unterabfragen optionale Wortformabfragen sind.
Bei einer <FormSet>-Abfrage können Sie jedoch eine Attributabfrage angeben, die für alle Formen gemeinsam gilt. Dadurch werden Suchvorgänge effizienter, wenn ExactSearch verwendet wird, um alle Wortformen zu finden, für jede Form eine Attributabfrage vorhanden ist und all diese Attributabfragen ein gemeinsames Fragment enthalten.
Ein <FormSet>-Element enthält die folgenden Elemente:
<Attributes>— Optionales Element, das eine Abfrage für Formattribute enthält. Diese Abfrage wird mit Attributabfragen für Formen per AND kombiniert.<Form>— erforderliches Element, das eine Abfrage für eine Wortform enthält. Ein<FormSet>-Element muss mindestens ein<Form>-Element enthalten.
Beispiel für eine XML-Abfrage zur Adress-Extraktion
Das Ergebnis einer Abfrage zur Adress-Extraktion ist eine Textzeichenfolge, die das erste Wort des Landes, das erste Wort der Straße, das erste Wort der Stadt, das erste Wort des Bundesstaats und das erste Wort der Postleitzahl enthält (in dieser Reihenfolge und sofern die einzelnen Wörter jeweils nicht mehr als 5 Wörter voneinander entfernt sind). Die aufeinanderfolgenden Wörter, aus denen eine Komponente besteht (z. B. ein Straßenname), werden im Index zusätzlich nummeriert, beginnend mit 1.xmlQueryResult gespeichert:
