FT.CREATE

FT.CREATE erstellt einen durchsuchbaren 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 ein Index mit diesem Namen bereits vorhanden ist, wird ein Fehler zurückgegeben.

  • ON HASH (optional): Gibt den Datentyp HASH 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_field_name“ nach dem Scheme gibt den Feldnamen im Hash an. [AS alias] VECTOR weist den Namen VECTOR als Alias für das Feldnamenattribut zu.

Feldtypen

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

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

    • attribute_count (erforderlich): Gesamtzahl der Attribute der Namen und Werte, die in der Algorithmuskonfiguration übergeben wurden.

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

      • Erforderliche Attribute für den HNSW-Algorithmus:

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

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

        • DISTANCE_METRIC (erforderlich): Hier muss L2, IP oder COSINE angegeben werden.

      • Optionale Attribute für den HNSW-Algorithmus:

        • EF_RUNTIME (optional): Legt die Anzahl der Vektoren fest, die während eines Abfragevorgangs überprüft werden sollen. Der Standardwert ist 10 und der Maximalwert ist 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 in der Grafik in jeder Ebene. Die maximale Anzahl ausgehender Kanten beträgt 2 MB für Ebene 0. Der Standardwert ist 16. Das Maximum beträgt 512.

        • EF_CONSTRUCTION (optional): Legt die Anzahl der Vektoren fest, die bei der Indexerstellung überprüft werden sollen. Der Standardwert ist 200 und der Maximalwert ist 4096. Höhere Werte erhöhen die Zeit für das Erstellen von Indexen, verbessern aber das Recall-Verhältnis.

        • INITIAL_CAP (optional): Bestimmt die Startvektorkapazität des Index. Der Standardwert ist 1024. Dieser Parameter bestimmt die Indexspeicherzuordnung.

      • Erforderliche Attribute für den FLAT-Algorithmus:

        • DIM (erforderlich): Anzahl der Vektorabmessungen.

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

        • DISTANCE_METRIC (erforderlich): Hier muss L2, IP oder COSINE angegeben werden.

      • Optionale Attribute für den FLAT-Algorithmus:

        • INITIAL_CAP (optional): Bestimmt die Startvektorkapazität des Index. Dieser Parameter bestimmt die Indexspeicherzuordnung.

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

FLAT-Beispiel:

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