Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
FT.CREATE
Der FT.CREATE Befehl erstellt einen leeren Index und leitet den Backfill-Prozess ein. Jeder Index besteht aus einer Reihe von Felddefinitionen. Jede Felddefinition gibt einen Feldnamen, einen Feldtyp und einen Pfad innerhalb jedes indizierten Schlüssels an, um einen Wert des deklarierten Typs zu finden. Einige Feldtypdefinitionen haben zusätzliche Untertypbezeichner.
Bei Indizes für HASH-Schlüssel ist der Pfad derselbe wie der Name des Hash-Elements. Die optionale AS Klausel kann verwendet werden, um das Feld auf Wunsch umzubenennen. Das Umbenennen von Feldern ist besonders nützlich, wenn der Elementname Sonderzeichen enthält.
Bei Indizes für JSON-Schlüssel ist der Pfad ein JSON-Pfad zu den Daten des deklarierten Typs. Da der JSON-Pfad immer Sonderzeichen enthält, ist die AS Klausel erforderlich.
Syntax
FT.CREATE <index-name> ON HASH | JSON [PREFIX <count> <prefix1> [<prefix2>...]] SCHEMA (<field-identifier> [AS <alias>] | VECTOR [HNSW|FLAT] <attr_count> [<attribute_name> <attribute_value>]) | TAG [SEPARATOR <sep>] [CASESENSITIVE] | NUMERIC )+
(erforderlich): <index-name>Dies ist der Name, den Sie Ihrem Index geben. Wenn bereits ein Index mit demselben Namen existiert, wird ein Fehler zurückgegeben.
ON HASH | JSON (optional): Nur Schlüssel, die dem angegebenen Typ entsprechen, sind in diesem Index enthalten. Wenn es weggelassen wird, wird HASH angenommen.
PREFIX (optional): <prefix-count><prefix>Wenn diese Klausel angegeben ist, werden nur Schlüssel, die mit denselben Bytes wie eines oder mehrere der angegebenen Präfixe beginnen, in diesen Index aufgenommen. Wenn diese Klausel weggelassen wird, werden alle Schlüssel des richtigen Typs eingeschlossen. Ein Präfix mit der Länge Null würde auch allen Schlüsseln des richtigen Typs entsprechen.
Feldtypen:
TAG: Ein Tag-Feld ist eine Zeichenfolge, die einen oder mehrere Tag-Werte enthält.
SEPARATOR <sep>(optional): Eines der Zeichen, die zur Abgrenzung einzelner Tags
,.<>{}[]"':;!@#$%^&*()-+=~verwendet werden. Wenn es weggelassen wird, ist,der Standardwert.CASESENSITIVE (optional): Falls vorhanden, wird bei Tag-Vergleichen zwischen Groß- und Kleinschreibung unterschieden. Standardmäßig wird bei Tag-Vergleichen NICHT zwischen Groß- und Kleinschreibung unterschieden.
NUMERISCH: Ein numerisches Feld enthält eine Zahl.
VEKTOR: Ein Vektorfeld enthält einen Vektor. Derzeit werden zwei Algorithmen zur Vektorindizierung unterstützt: HNSW (Hierarchical Navigable Small World) und FLAT (Brute Force). Jeder Algorithmus hat eine Reihe zusätzlicher Attribute, von denen einige erforderlich und andere optional sind.
FLAT: Der Flat-Algorithmus liefert exakte Antworten, hat jedoch eine Laufzeit, die proportional zur Anzahl der indizierten Vektoren ist, und ist daher möglicherweise nicht für große Datensätze geeignet.
DIM <number>(erforderlich): Gibt die Anzahl der Dimensionen in einem Vektor an.
TYPE FLOAT32 (erforderlich): Datentyp, FLOAT32 wird derzeit nur unterstützt.
DISTANCE_METRIC [L2 | IP | COSINE] (erforderlich): Gibt den Entfernungsalgorithmus an.
<size>INITIAL_CAP (optional): Anfängliche Indexgröße.
HNSW: Der HNSW-Algorithmus liefert ungefähre Antworten, arbeitet aber wesentlich schneller als FLAT.
DIM <number>(erforderlich): Gibt die Anzahl der Dimensionen in einem Vektor an.
TYPE FLOAT32 (erforderlich): Datentyp, FLOAT32 wird derzeit nur unterstützt.
DISTANCE_METRIC [L2 | IP | COSINE] (erforderlich): Gibt den Entfernungsalgorithmus an.
<size>INITIAL_CAP (optional): Anfängliche Indexgröße.
M <number>(optional): Anzahl der maximal zulässigen ausgehenden Kanten für jeden Knoten im Diagramm in jeder Ebene. Auf Ebene Null beträgt die maximale Anzahl ausgehender Kanten 2*M. Der Standardwert ist 16, das Maximum ist 512.
EF_CONSTRUCTION <number>(optional): Steuert die Anzahl der Vektoren, die bei der Indexkonstruktion untersucht werden. Höhere Werte für diesen Parameter verbessern die Abrufrate auf Kosten längerer Indexerstellungszeiten. Der Standardwert ist 200. Der Höchstwert ist 4096.
EF_RUNTIME <number>(optional): Steuert die Anzahl der Vektoren, die während eines Abfragevorgangs untersucht werden sollen. Der Standardwert ist 10 und der Höchstwert ist 4096. Sie können diesen Parameterwert für jede Abfrage festlegen, die Sie ausführen. Höhere Werte verlängern die Abfragezeit, verbessern jedoch den Abfrageabruf.
ANTWORT: OK oder Fehler.