FT.CREATE

FT.CREATE erstellt einen suchbaren Index.

Syntax

FT.CREATE index
  ON HASH
  [PREFIX count prefix [prefix ...]]
  SCHEMA field_name [AS alias] VECTOR [HNSW|FLAT] attribute_count [attribute_name attribute_value])
  • index (erforderlich): Dies ist der Name, den Sie Ihrem Index geben. Wenn bereits ein Index mit demselben Namen vorhanden ist, wird ein Fehler zurückgegeben.

  • ON HASH (optional): Gibt den HASH-Datentyp an. Nur der Datentyp HASH wird unterstützt.

  • PREFIX [count] [prefix] (optional): Gibt an, welche Hash-Schlüssel indexiert werden sollen.

  • SCHEMA hash_field_name (erforderlich): Der Hash-Feldname nach SCHEMA gibt den Feldnamen im Hash an. [AS alias] weist dem Attribut „Feldname“ den Alias alias zu.

Feldtypen

  • VECTOR (erforderlich): Vektorfeld für die Vektorsuche:

    • [HNSW|FLAT] (erforderlich): Ausgewiesener Algorithmus. Entweder FLAT (Brute-Force) oder HNSW (Hierarchical Navigable Small World).

    • attribute_count (erforderlich): Gesamtzahl der Attribute von Namen und Werten an die Algorithmuskonfiguration übergeben.

    • attribute_name attribute_value: Schlüssel/Wert-Paare, die die Indexkonfiguration definieren, aber für einen der beiden verfügbaren Algorithmen spezifisch sind.

      • Erforderliche HNSW-Algorithmusattribute:

        • DIM (erforderlich): Anzahl der Vektordimensionen. Zulässige Werte sind 132768.

        • TYPE (erforderlich): Der Vektortyp. Es wird nur FLOAT32 unterstützt.

        • DISTANCE_METRIC (erforderlich): Muss einen der folgenden Werte aufweisen: L2, IP oder COSINE.

      • Optionale Attribute für den HNSW-Algorithmus:

        • EF_RUNTIME (optional): Legt die Anzahl der Vektoren fest, die während eines Abfragevorgangs untersucht werden sollen. Der Standardwert ist 10 und der Höchstwert 4096. Sie können diesen Parameterwert für jede ausgeführte Abfrage festlegen. Höhere Werte erhöhen die Abfragezeiten, verbessern aber die Abfrageerinnerung.

        • M (optional): Die Anzahl der maximal zulässigen ausgehenden Kanten für jeden Knoten im Graphen in jeder Ebene. Die maximale Anzahl ausgehender Kanten für Ebene 0 beträgt 2 M. Der Standardwert ist 16. Maximal 512.

        • EF_CONSTRUCTION (optional): Legt die Anzahl der Vektoren fest, die beim Erstellen des Index geprüft werden sollen. Die Standardeinstellung ist 200 und die maximale Anzahl ist 4096. Höhere Werte erhöhen die Zeit, die zum Erstellen von Indexen benötigt wird, verbessern aber das Recall-Verhältnis.

        • INITIAL_CAP (optional): Bestimmt die anfängliche Vektorkapazität des Index. Der Standardwert ist 1024. Dieser Parameter bestimmt die Indexspeicherzuweisung.

      • Erforderliche FLAT-Algorithmusattribute:

        • DIM (erforderlich): Anzahl der Vektordimensionen.

        • TYPE (erforderlich): Der Vektortyp. Es wird nur FLOAT32 unterstützt.

        • DISTANCE_METRIC (erforderlich): Muss einen der folgenden Werte aufweisen: L2, IP oder COSINE.

      • Optionale FLAT-Algorithmus-Attribute:

        • INITIAL_CAP (optional): Legt die Startvektorkapazität des Index fest. Dieser Parameter bestimmt die Arbeitsspeicherzuweisung für den Index.

Beispiele

HNSW-Beispiel:

FT.CREATE my_index_name SCHEMA my_hash_field_key VECTOR HNSW 10 TYPE FLOAT32 DIM 20 DISTANCE_METRIC COSINE M 4 EF_CONSTRUCTION 100

FLACH-Beispiel:

FT.CREATE my_index_name SCHEMA my_hash_field_key VECTOR Flat 8 TYPE FLOAT32 DIM 20 DISTANCE_METRIC COSINE INITIAL_CAP 15000